(VBA)VBスクリプトを利用して作業を自動化しているのですが、Sendkey "(文字列)" の(文字列)の部分をそのまま忠実に出力して欲しいのに、全角で出力してしまいます。おそらく入力モードがデフォルトで全角になっているためだと思いますが、Sendkeyをやる前に直接入力モードにするにはどういったコマンドを記述すればよいか教えて下さい。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/07/22 17:02:54
  • 終了:2010/07/23 17:23:37

回答(3件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/07/22 17:28:15

ポイント22pt

http://www.asahi-net.or.jp/~zn3y-ngi/YNxv205.html

    If IMEStatus = vbIMEModeOn Then
      SendKeys "{kanji}", True                  '[半角/全角]キー
    End If
id:uuuu_mmmm0120

解決しました、有難うございました。

2010/07/23 17:21:41
id:yamaneroom No.2

yamaneroom回答回数1040ベストアンサー獲得回数612010/07/22 17:47:22

ポイント18pt

IMEがオンならオフにする

If IMEStatus = vbIMEModeOn Then
  SendKeys "{kanji}", True
End If
id:uuuu_mmmm0120

有難うございました。

2010/07/23 17:21:50
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/07/22 19:50:43

ポイント40pt

>Sendkey "(文字列)" の(文字列)の部分をそのまま忠実に出力して欲しいのに

これが可能な状態と不可能な状態があります。

つまり 制御コードなどが含まれている場合は、そのまま出せないのです。

http://nadesi.com/doc/reference/function/10-0-sendkey.htm

こちらを 見てもらえれば わかると思いますが

  1. & % などの文字が含まれていれば そのまま出せません。

そういうときは どうすればいいのか?

簡単です。

クリップボードを使えばいいのです。

つまり コピペ ですね。

そうすれば、何も考えずに その文字列を 出力できます。

http://officetanaka.net/excel/vba/tips/tips20.htm

こちらを 参考にして クリップボードに値をセットして

Sendkey で 貼り付けを やってください。

id:uuuu_mmmm0120

詳しい説明有難うございました。

今度使わせて頂きます。

2010/07/23 17:22:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません