[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『[マクロ]別アプリケーションへのSendkeysについて』(K)
エクセル指定範囲をコピーし、別アプリケーションへ貼り付けを実行したいと考えております。
※アプリケーション:IPメッセンジャーの新規ウィンドウテキスト部分
IPメッセンジャーの新規ウィンドウは立ち上がりますが、
下記コードで貼付が実行されず困っております。
Range("B20").Copy
Shell "C:\・・・\ipmsg.exe"
Application.SendKeys ("{APPSKEY}p")
※"+^v"としても貼付不可
※”p”はアプリケーションキーを押下した際の貼付キーボードショートカットキー
上記コードを改修すれば実現可能なのか、
そもそも実行不可なのかご教授頂けますと幸いです。
説明不足が御座いましたらご指摘下さい。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Range("B20").Copy Shell "C:\・・・\ipmsg.exe", vbNormalFocus Application.SendKeys ("^V") (???) 2018/05/29(火) 12:56
返信有難う御座います。
頂いたコードでも貼付が出来ませんでした。
別途、"+{F10}"でも右クリック同様のSendkeysで試みましたが、
やはり上手く貼付が出来ないようです。
IPメッセンジャーの新規テキストウィンドウは最前面に表示され、アクティブな状態の為、
正常動作しそうなのですが、
一旦は、手動でCtrl + V を押下する作業を行えば、実現したい事は可能となります。
引き続き自身でも調べてみますので、
その他に良案御座いましたら、お手隙の際で問題御座いませんので、お力添え下さい。
(K) 2018/05/29(火) 14:44
>エクセル指定範囲をコピーし ここはどうしているか? セル範囲を指定してコピーとしているのか? またマクロの実行はどうしているのか?
(ねむねむ) 2018/05/29(火) 14:55
メモ帳で試した際にはセル範囲を指定してコピー、開発-マクロから実行だとコピー状態が解除されてコピーされず。 ボタンをシートに追加してそのボタンにマクロを割り当てて実行させた場合はコピーされた。
(ねむねむ) 2018/05/29(火) 14:57
>コピーされた。 ↓ 貼り付けされた。 と読み替えてくれ。 (ねむねむ) 2018/05/29(火) 14:58
または、コピーする部分を以下のように変えて、文字列だけクリップボードに送るようにしてみるとどうなるでしょうか。
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText Range("B20") .PutInClipboard End With
これでも駄目な場合、最近は使っていないのですが、ipmsg にはDLLが提供されていたはずなので、こっちを利用してメッセージ送信を実現するとか? 更には、通信仕様が公開されているはずなので、自分で通信ロジックを書いてしまうとかでも可能と思います。
(???) 2018/05/29(火) 15:34
???さんの所のEXCELのバージョンは何だろうか? 2010だと開発-マクロのダイアログを開いた段階でセルのコピーが解除されてしまうのでなにも貼り付けされなくなるのだが。 (ねむねむ) 2018/05/29(火) 15:38
すまない。 >Range("B20").Copy 入れ忘れていた。 マクロ内でコピーしているならば開発-マクロでコピー解除は関係なかった。
(ねむねむ) 2018/05/29(火) 15:51
対応策を協議頂き有難う御座います。
また、それぞれの動作環境で検証頂き有難う御座います。
IpMsgでの直送信は該当webを見つけ試みましたが、
わたくしのスキル・知識が低い為、実装を断念致しました。
メモ帳を代用した方法を実施希望タスクに流用可能か模索してみます!
新たな課題やご相談事項があれば改めてこちらでお二人のお力添えを頂きたく存じます。
(K) 2018/05/29(火) 17:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.