dポイントプレゼントキャンペーン実施中!

エクセルVBAで、マクロを作成中なのですが、
別のアプリケーションを動作させなくてはいけないため、
SendKeysを使用します。

この SendKeys "○○○"で、
コマンドや文字を指定することは、できますが、
エクセルのある決まったセルに入っている文字をそのまま、
ここに指定(つまりは、変数)するのには、どういう記述方法になりますか?

例えば、A1のセルに「XYZ」と入っていたら、
SendKeys "XYZ"と送るイメージになりますが、このXYZ部分を、
A1セルの文字という変数にしたいです。

いろいろ調べたのですが、わかりませんでした。
すみませんが、みなさん、よろしくお願いいたします。

A 回答 (2件)

そのままですよ。



 Application.SendKeys Range("A1")

でいけます。
    • good
    • 5
この回答へのお礼

ありがとうございます。こんなに簡単な記述でできるとは、驚きです^^
助かりました!

お礼日時:2013/07/07 03:07

状況によりますが安全を取って、事前に変数に受けてから送り出してみます。



作成例:
sub macro1()
dim s as string
dim res
s = range("A1").value
res = shell("Notepad.exe", vbnormalfocus)
sendkeys s
end sub
    • good
    • 3
この回答へのお礼

ありがとうございます!
このような方法もあるのですね。こちらでも、できそうです!
一度変数に置いておけば、のちに便利なこともあるので、今後使ってみます。

お礼日時:2013/07/07 03:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A