本文へスキップ
  1. トップページ>
  2. Tips>
  3. Excel2010、SendKeysの文字化け対策

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
ホームページビルダー16、フォルダビュー活用による効率化
エアコン、霧ヶ峰MSZ−L285で耳栓による風切音の対策
ホームページビルダー16、ページの複製による高速化
かんたん携帯9、メール操作が遅い時の対処方法
ホームページビルダー16、ページ切り替えを速くする方法

Excel2010、SendKeysの文字化け対策

Excel2010は、手頃な価格で高機能な表計算ソフトです。
マクロを使用すると、色々な作業を自動化する事ができて、大変便利です。

しかし、マクロでSendKeysを使用すると、日本語が文字化けする場合が有ります。使用したパソコンは、
下記のソフトを使用していました。

OS       : Windows10(64bit)ビルド 10586.164
表計算ソフト   : Excel2010(32bit)

以下、Excel2010、SendKeysの文字化け対策を記載して行きます。

(項目1)
 ・マクロでSendKeysを使用すると、日本語が文字化けする場合が有ります。
 ・以下のマクロでは日本語で文字化けしませんが、余分な文字が送信される等で不安定です。
  SendKeys "エクセル将棋館", True

 ・一方、Wscript.Shellを使用したマクロは安定していますが、日本語で文字化けが発生します。
  With CreateObject("Wscript.Shell")
    .SendKeys "エクセル将棋館", True
  End With

(項目2)
 ・色々と考えた結果、クリップボードを利用する事を試して見ました。
 ・手順は、以下の通りです。
  @セルに送信したい文字列を入力する。
  Aセルをコピーする。
  BWscript.Shellを使用したSendKeysで送信する。

 ・コードを下記に示します。
  Range("A1") = "エクセル将棋館"

  Range("A1").Select
  Selection.Copy

  With CreateObject("Wscript.Shell")
   .SendKeys "^v", True
  End With

(項目3)
 ・上記の方法で、日本語が文字化けする事無く、安定して送信できました。
 ・纏めると、以下の表となります。
  

(項目4)
 ・以上で、Excel2010、SendKeysの文字化け対策は終了です。