Illustrator(イラストレーター)で簡単に表を作成する

エクセルで表を作り、コピーして貼り付け、それだけでできます。

  • まずは表を作ります。場合によっては、エクセルの表を渡されるということもあるでしょう。
    分かりやすいように一箇所、縮小して表示しています。
  • 枠線のチェックを外し、範囲を大きめにとってコピーします。
    枠線のチェックを外さないと枠線ごと表になってしまいます。また、範囲を大きめに取らないと端が切れる場合があります。この辺りはエクセルとの相性問題でしょうか。
  • Illustratorに貼り付けます。完了です。
  • 内部的にもテキスト(ベクター形式)ですので、拡大縮小しても劣化することはありません。
  • 4
  • 再編集する場合は、グループ化を解除して下さい

以上です。

vbaでメール。その3 メールファイル(.emlファイル)の文字コード

jisです。shift-jisではなく、jisという文字コードがあります。

vbaから使う場合はこちらの記事を参考に、CDOで処理することを強くおすすめします。

テキストとして処理しようとするととんでもなく大変です。

vbaでメール。その2 AttachmentとAttachmentsの違い。

vbaでメール操作をした時に躓いた点を書いておきます。

AttachmentとAttachmentsは別物。

Attachmentはoutlookのインスタンスを生成した時、使うもの。vbaでメールを送受信する時に使います。

そして添付ファイルを保存する場合、Saveasfileを使う。

詳細はMSDNを参考に。

Attachmentsは別物で、メールファイルを扱う時に使うもの。

そして添付ファイルを保存する場合、Savetofileを使う。

実際のコードはこちらを参考にして下さい。

vbaでメール。その1 メールファイル(.emlファイル)を操作。

vbaでメール受信は、「vba メール」などで検索すると

参考になるサイトが色々見つかります。

今回はそれではなく、vbaでemlファイルを操作する方法を記しておきます。

使い方
エクセルファイルと同じフォルダに.emlファイルを置き、
以下を実行するとファイルの内容をシート内に、同じフォルダに添付ファイルを展開します。

 

参考画像

マクロ適用前はこんな感じです。

フォルダ内にエクセルファイルとemlファイルのみ

適用後はこのように、シート内にメールの送信者、件名など。フォルダ内に添付ファイルをコピーします。

同じ名前の添付ファイルは上書きしますので、避けたい場合は

msg.Attachments(i).SavetoFile (ThisWorkbook.Path & “\” & msg.Attachments(i).Filename)

msg.Attachments(i).SavetoFile (ThisWorkbook.Path & “\” & CDbl(Timer) &

msg.Attachments(i).Filename)

などとして下さい(ミリ秒を付け加えています)

excelのボタンがおかしい

2014/12/10のアップデートでエクセルのActiveXが効かなくなるアップデートがありました。

具体的にはKB2596927、KB2553154、KB2726958というアップデートです(3つの違いはofficeのバージョンです)

ワークシートに貼られたボタンや、コンボボックス(セレクトボックスともいう、クリックするとリストが出てくるツール)、チェックボックス、ラジオボタン、テキストボックス等…色々と使えなくなっている可能性があります。

2通りの方法を用意しましたので、どちらかを使って解決して下さい。

アップデートのアンインストールで対処するにはこちら

メリット
手軽
一度で全てのマクロを復帰させることができる
デメリット
アンインストール中に万が一電源が落ちたりすると、大変危険
今後も同じようなアップデートが来る可能性がある

マクロを直接変更する方法はこちら

メリット
安全。ファイルのバックアップさえ取っておけば、ほとんどの場合大丈夫
vbaを覚えることができる。普通に便利なのでこれを機に覚えるのもいいと思います。
デメリット
難易度が高い。(やり方はリンク先のページで詳しく書いてます)

jQueryでselect要素、option要素の中からテキスト・文字列で選択する方法

例としてこんなselect要素、option要素があるとします。そして青森を選択したい。

青森のvalueが何かわからない、不定、未定と言った場合はどうすればよいか。

探しても見つからなかったので自分で作りました。

以下を使って下さい。

使い方は、
text_selector(“親のセレクタ”,”optionで表示されている文字列”);
です。

$.eachで回してテキストが同じなら親のselectのvalueに設定しているだけです。

なぜ$.eachで回すかというと、containsは文字列比較で「~を含む」というセレクタなので、「青森」で検索すると「青森県」も引っかかってしまうためです。

何故か文字列比較の等号、無いんです。

 

ちなみにselectとoptionで、valueを直接選ぶのは簡単。青森が2とわかっていれば

#(“optionAreaL”).val(“2”)

とするだけでok。

以上です。

excel VBAのマクロ、ボタンが効かない その2(KB2596927、KB2553154、KB2726958)

2014/12/10のアップデートでエクセルのActiveXが効かなくなるアップデートがありました。

症状としては、ワークシートのボタンが押せない、ワークシートのセレクトボックスがおかしい、などがあります。

その1ではアンインストールする方法をお伝えしましたが、何らかの理由で無理、アップデートのアンインストールはやりたくない、と言う方はこちらの方法をお試し下さい。

 

最終的にやることは、ActiveXのボタン動作をフォームボタンに移植する、です。

作業前の一例です。sheet2のボタンを押して何かしらの処理、と言った感じです。

0

まずは移植先のフォームボタンを作ります。メニューの「開発」、「挿入」、フォームコントロールの四角ボタンを選択

2

ボタンを作りたい場所でドラッグします。後で移動、拡大縮小できるので多少大きめに作っておくと作業がしやすいです。

9999

突然ウィンドウが出てきます。新規作成をクリック。

4

するとまた突然ウィンドウが現れます。ここが「標準モジュール」内の「Module1」という移植先になります。移植先にいても仕方ないので、移植元にいきましょう。左側のsheet2をダブルクリックして下さい。

0

何やら色々と書いてあると思いますが、意味はわからなくても大丈夫です。

private sub commandbutton1_click()

endsub

の間をコピーします。

0

先ほどの「標準モジュール」内の「Module1」というところをダブルクリックし…

sub ボタン2_Click()

End sub

の間に貼り付ければ完了です。

0

 

動作確認して、うまく動けば嬉しい、楽しいです。いろいろ試行錯誤してみてください。また、これをきっかけにvbaを勉強するのも良いと思います。

 

0

 

それと最後にもう一つ、ボタンの調整方法です。右クリックでメニューが開きます。

テキストの編集で「ボタン2」などの表示を変更出来ます。

ボタンの角をドラッグすればサイズ調整、削除する場合はこの状態でescを押し、delキーで削除できます。

0

以上です。

excelのマクロ、ボタンが効かない その1(KB2596927、KB2553154、KB2726958)

2014/12/10のアップデートでエクセルのActiveXが効かなくなるアップデートがありました。

症状としては、ワークシートのボタンが押せない、ワークシートのセレクトボックスがおかしい、などがあります。

以下のアップデートをアンインストールして下さい。

アンインストール出来ない場合は、こちらの記事

excel2007 … KB2596927
excel2010 … KB2553154
excel2013 … KB2726958

Excel2010の場合、以下で元に戻ります。

1.スタートボタンのwindows updateを選択

8

 

2.kbb2553154をアンインストール(excel2007はKB2596927、excel2013はKB2726958)

1

この後、再起動が必要です。

今後もこういうアップデートが考えられますので、ActiveXを使わない方法があればそちらを検討したほうが良いと思います。

 

jQueryでクリックしたことにする

フォームに文字を入力する時「input要素をクリックする動作」を検知するサイトがたまにあります。

inputをクリックせずに直接javascriptで

$(“input”).val(“text”)、送信を押してもうまくいかないことがあります。

そんな時はtriggerを使います。

$(“input”).val(“text“);
$(“input”).trigger(‘click’);

clickだけでなく、changeや

$(“input”).trigger(‘change’);

マウスオーバーも使えます。

$(‘input’).trigger(‘mouseover’);

 

これで広告をクリックしたことにすると、当然のように収益は没収されますので絶対にやめましょう。