質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Q&A

解決済

1回答

4746閲覧

VBA 通知バーのボタンをクリックしたいです

hk3150

総合スコア11

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

0グッド

0クリップ

投稿2021/04/15 07:57

編集2021/04/16 01:24

IEからのダウンロード時に表示される、
通知バーの「開く」ボタンをVBAを使ってクリックしたいのですが、
sendkey以外で、良い方法はございますでしょうか。

よろしくお願いいたします。
sendkeyで開いてしまうと、numlock等がオフになるので、極力使いたくないです。
(理由が分からないのですが、個人マクロブックも再度開いてしまう)

-----------現在のコード----------------

#If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr) #Else Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) #End If sub ie() Dim objIE As InternetExplorer Dim objInpTxt As HTMLInputTextElement Dim objTag As Object Set objIE = New InternetExplorerMedium objIE.Visible = True objIE.navigate "http://(社内イントラの為、略)" Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop Set objInpTxt = objIE.document.getElementsByName("inp_param")(0) objInpTxt.Value = "(社内品番の為、略)" For Each objTag In objIE.document.getElementsByTagName("input") If InStr(objTag.outerHTML, "データ抽出") > 0 Then objTag.Click Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop Exit For End If Next For Each objTag In objIE.document.getElementsByTagName("input") If InStr(objTag.outerHTML, "ダウンロードCSV") > 0 Then objTag.Click Exit For End If Next Sleep 3000 SendKeys "%O", True End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/04/15 08:26

>sendkey以外 sendkeyでは出来た上での質問ですか?そうではないですか? 前提や背景、現在のコードなど提示してください。
m.ts10806

2021/04/16 01:21

コードはマークダウンのcode機能にてご提示ください
hk3150

2021/04/16 01:22

m.ts10806さま sendkeyでは出来た上での質問でございます。 コードを追記しましたので、よろしくお願いいたします。 sendkeyを使っておりましたが、numlock等がオフになると苦情が相次ぎ見直したいと思っています。 後、一部で個人マクロブックが開かれてしまうと。
hk3150

2021/04/16 01:25

お恥ずかしながら上手く使いこなせておらず。。すみません。 code機能にて再度追記しました。よろしくお願いいたします。
FromMZ1500

2021/04/19 01:29

SendMessage APIでごにょごにょするのも結局はsendkeyと同じですから。 ファイルパスがわかってるなら、IEを通して開かせなくても、VBAからShell関数で開く、とかではダメなんでしょうか。
hk3150

2021/04/19 04:57

fromMZ1500さま、こんにちは。 ご回答頂き、ありがとうございます。 shell関数というものを、たった今知りました。 一度勉強しまして、使用できるかどうか、検討してみたいと思います。
guest

回答1

0

自己解決

色々と試しましたが、通知バーから「開く」ではなく、
一旦「保存」してしまい、csvファイルを所定のフォルダから開く事で解決できました。

みなさま、たくさんのご回答を頂きまして、ありがとうございました。
またよろしくお願いいたします。

投稿2021/04/19 05:48

hk3150

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問