ACCESSで商品データベースを持っており、通販サイトへ商品登録作業を簡略化しようとVBAで出品プログラムを作っております。
本来は通販サイトへの画像の登録はWEBブラウザでドラッグ&ドロップで登録するか、ドロップできる箇所をクリックして画像ファイル選択ダイアログが開き選択する手順です。
もっと他にも方法があるのかもしれませんが、<input type="file">の箇所へIE制御で値を直接入力ができなかったので、原始的ですが、
objIE.Document.getElementsByClassName("〇〇〇")(0).Click
でクリックし、ファイル選択ダイアログボックスが開くところまでは完成しました。
ACCESS の商品テーブル上にローカルの画像ファイルのフルパスをテキストデータとして持たせているので、VBAでクリップボードにコピーし、ファイル選択ダイアログボックスが開いたときに
sendkeys "^v",true 'Ctrl+vのキー入力
でコピペできないかなと考えていたのですが、うまくいきません。
流れとしてまとめますと、ACCESSの商品フォーム上から、コマンドボタンクリック時にVBAで
1:テーブル上の画像ファイルのフルパスをクリップボードにコピー
2:VBAからIEで商品登録ページを開く
3:画像選択ダイアログボックスを開くために、所定の箇所をクリック
4:開いたダイアログボックスにSendkeys でCtrl+v
5:ダイアログボックスの開くボタンクリックで閉じる
6:IEに戻り引き続きVBA処理で商品登録
以上が今回ACCESS VBAから行いたい作業です。
1、2、3までは問題なく動作しており、4のCtrl+vの部分がダイアログボックスではなくIEのブラウザ上で動作してしまっています。画面上ではダイアログボックスは最前面に表示されているのですが。。。
ダイアログボックスのファイル名を入力するテキストボックスには何も入力されてない状態でVBAは終了している状態です。
この状態でキーボードから直接Ctrl+vを押すと問題なくファイルパスは入力されますので、クリップボードにもデータはわたっております。
5:の開くクリックは、Ctrl+vの後にEnterクリックで登録できると思います。
宜しくお願いいたします。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/25 10:53