« 2010年5月 | トップページ | 2010年8月 »

2010年6月

2010年6月14日 (月)

オブジェクトモジュールではデバッグモードがないのね。

InternetExplorerでイベントを使うために
オブジェクトモジュールで変数を宣言して、
標準モジュールではなく
オブジェクトモジュールでプロシージャを書いて
実行した時にエラーが起こったら
このようなダイアログが表示されました。
Vba20100614a

標準モジュールでエラーが起きた時はこのダイアログ。
Vba20100614b

標準モジュールのダイアログはデバッグのボタンがありますが、
オブジェクトモジュールの方のダイアログにはありません。

再現するにはこちらの
存在しないシートを選択するプロシージャを
標準モジュールや
ワークシート、ワークブックのモジュールで実行してください。

存在しないシートを選択してエラーを起こすコード:

Sub macro100614a()
'存在しないシートを選択して
'エラーを起こす

    Sheets("存在しないシート").Select

End Sub

オブジェクトモジュールにデバッグモードがない理由は
わかりません。

また、デバッグモードがないので
どこでエラーが起こったかがわかりにくいです。

| | コメント (0) | トラックバック (0)

2010年6月 9日 (水)

簡易メール送信 2の補足

記事「 簡易メール送信 2」では、
シートに作ったメールのリンクを
件名を指定してからクリックして、
メールのウィンドウが立ち上がったら
SendKeysで本文を入力して送信しました。

そのSendKeysで本文を入力するときですが、
スペースはそのままスペースを文字列に入れればよいです。

改行をしたいときはどうするかというと
Chr(10)ではなく
{ENTER}を文字列に入れます。

例えば、

"改行前{ENTER}改行後"

という文字列をSendKeysで入力すると

改行前
改行後

のようになります。

もう1つ例を挙げます。

"A1 B1 C1{ENTER}A2 B2 C2{ENTER}A3 B3 C3"

という文字列をSendKeysで入力すると

A1 B1 C1
A2 B2 C2
A3 B3 C3

のように入力されます。

コードの例はこちら

簡易メールで改行を入れるコード:

Sub macro100609a()
'SendMail2の使用例
'本文中に改行を入れる

    Call SendMail2("件名", _
        "A1  B1  C1{ENTER}A2  B2  C2{ENTER}A3  B3  C3")
   
End Sub

実行したときあらわれるメールのウィンドウ:
Vba20100609a

同じPCで他の作業をしながら
SendKeysを使うのは難しいですよ。

| | コメント (0) | トラックバック (0)

2010年6月 3日 (木)

HTML形式のファイルが文字化けする場合

記事「 HTMLファイルを生成」で、作成したHTMLファイルを
アップロードしてWeb上で見た時に文字化けしました。

Internet Explorerのエンコードの選択を替えれば
正確に表示されるので
保存の時の文字コードと表示する時の文字コードが
違っているのかなと思いました。

ローカルで開いてみる分には問題はなかったです。

ココログの公式FAQでは
ココログは文字コードがUTF-8でないと文字化けするようです。

UTF-8は「unicodeで使える」 とウィキペディアにあったので
unicodeで保存すれば文字化けがしないようです。

ちなみに
HTMLのメタタグでutf-8を指定するだけでは
文字化けしたままでした。

ちなみに、「ちなみに」なんて使ったら
ドラマ「新参者」が頭に浮かんできちゃいました。
このドラマはおもしろいですね。

ドラマつながりでもう一つ、
来期の大河ドラマ「江~姫たちの戦国~」で
鈴木保奈美、復活!!
ミセスで連載し始めた時からジョジョに解禁か!?
と思っていましたが…ついに来ました。

一人でも多くの人に見てもらいので
微力ながらここにも書きます。
来期の大河ドラマ「江~姫たちの戦国~」注目です。
見てください。

さてVBAに話は戻ります。

CreateTextFile メソッドについて
VBAヘルプで調べたところ
unicodeとASCIIのどちらかで作成された(?)ファイルかを
指定できる省略可能な引数があったので
これをunicodeに指定したところ
(この引数を省略した場合はASCIIになる)
文字化けはなくなりました。

詳細はVBAヘルプで確認してください。

| | コメント (0) | トラックバック (0)

« 2010年5月 | トップページ | 2010年8月 »