実現したいことと、なせそれがやりたいのか
Webページの「アップロード」ボタンを押して、
ダイアログからネットワークフォルダ上に置いてあるファイルアップロードをする作業があります。
ファイルアップロードをするときに開くダイアログで最初に表示されるディレクトリは
自分が最後にアップロードもしくはダウンロードしたディレクトリが表示されます。
そうではなくて、アップロードするファイルがある場所を最初から表示させたいのです。
「ファイルが置いてあるところまでいちいちクリックして移動するのがめんどくさい」
というご意見をいただいてしまったので……。
アップロードするファイルが置いてある場所は業務ごとに固定です。
なので決め打ちで指定するほうができそうなので、それをしようと調べています。
試したこと
レジストリの以下のところに保存されているということまでは調べました。
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
この項目をまるっと削除してしまえば、履歴自体は消えるっぽいです。
でも、希望のフォルダをそこに設定し直す方法がわかりません。
IE11のダウンロードの設定から、ダウンロードフォルダを設定しても
ダイアログがそっちを向くわけではないようです。
VBAならちょっとわかるので、
VBAでカレントディレクトリを設定してからVBAからIEを起動させて、それからアップロードボタンを押すようにしたらいいのかなー
ということも試してみました。
VBA
1Set objIE = CreateObject("InternetExplorer.Application") 2objIE.Visible = True 3objIE.navigate "http://www.testurl.jp/uploadgamen.html" 4Application.FileDialog(msoFileDialogFolderPicker).InitialFileName = "\testserver.jp\uploadsitaifolder\"
だめでした。
ExcelのVBEのイミディエイトウィンドウからカレントフォルダがどこか聞くと、上記で設定したフォルダになっているので
Excelのなかではカレントフォルダがちゃんとそれに書き換わっているようなのですが……。
昔はVBScriptで「UserAccounts.CommonDialog」とかを使ったように記憶しているのですが、
検索したらこれはWinXPでしか使えないのですね。
補足情報(FW/ツールのバージョンなど)
Win10、IE11です。
アップロードするときに使うWebページは、よそのもので、私が作ったり保守したりしているものではありません。
なので、このページを改造して……という方法は使えません。
今回はわからない度がとても高いので、漠とした質問のしかたになってしまい、申し訳ありません。
よろしくお願いいたします。
###追記 2018.06.22
レジストリを書き換える度胸が足りないので
「先に1回何かをダウンロードしておいて、カレントフォルダをそちらに向ける」
という作戦を考え中です。
iMacros を使って
まず1回、カレントフォルダにしたいフォルダに自動でファイルをダウンロードさせます。
iMacros
1VERSION BUILD=12.0.501.6698 2TAB T=1 3TAB CLOSEALLOTHERS 4URL GOTO=http://www.testurl.jp/dummyfileoitokugamen.html 'ここにダミーファイルをダウンロードできるページを作っておく 5ONDOWNLOAD FOLDER=\testserver.jp\uploadsitaifolder FILE=* WAIT=YES 6TAG POS=1 TYPE=A ATTR=TXT:download
これでダウンロードができたので、カレントフォルダも変わっていると思いきや…… 変わっていませんでした……
手でダイアログを操作してファイルをダウンロードすれば、カレントフォルダはこちらに変わるのに
iMacrosは手入力を代行してくれるツールのはずなのに、何が違うのかしら…… 違うツールだったらどうかしら…… と困っています。

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