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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

VBA

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

4回答

2310閲覧

アップロードするファイルがある場所を最初から表示させたいです。

sumire_cl

総合スコア228

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

VBA

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

0クリップ

投稿2018/06/20 05:17

編集2018/06/22 01:24

実現したいことと、なせそれがやりたいのか

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は手入力を代行してくれるツールのはずなのに、何が違うのかしら…… 違うツールだったらどうかしら…… と困っています。

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

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

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

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

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

guest

回答4

0

「sazi」さんのご提案「・・・別視点での提案されてはどうですか。」を、私もオススメします。


例えば

ファイルアップロードをするときに開くダイアログで最初に表示されるディレクトリは

自分が最後にアップロードもしくはダウンロードしたディレクトリが表示されます。

これを利用して、デスクトップ上(または指定場所)に「アップロード用フォルダ」を作成して、常にアップロード用ファイルはコピーして貼り付ける。などはどうでしょうか?

投稿2018/06/20 08:12

yoshinavi

総合スコア3521

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

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

sumire_cl

2018/06/22 01:32

ありがとうございます。 業務ごとに「アップロード用フォルダ」があって、そこにアップロード用のファイルは常に集められています。 その「アップロード用フォルダ」に、必要なときには常に向いていてほしいらしいのです。 他業務で別のフォルダにダウンロードしたりしたら、カレントフォルダがそちらに向き変わってしまい アップロード作業のときにいちいち手でそちらのフォルダまで行き直すのが「めんどくさい」のだそうです……。いいじゃんそれくらいやってよって思うのですが……。
yoshinavi

2018/06/22 04:44

困ったものですね。(笑) 「FFFTP」ソフトで初期フォルダに設定するのではダメでしょうか?
guest

0

ベストアンサー

アップロードするときに使うWebページは、よそのもので、私が作ったり保守したりしているものではありません。
なので、このページを改造して……という方法は使えません。

そもそも、web上からローカル環境は操作できませんので、レジストリ操作はできません。

レジストリを操作して行ったとして、そのサイト以外の参照の際に、影響を与えて良いのかとなりますし、そのページを開いている時に、他サイトで参照したらレジストリの値は変わっちゃいますよね。

結局、常に決めうちには出来ないし、変更したなら、元に戻すというところも考慮する必要があったりするので、「システムのセキュリティ制約でそのような事はできません」という回答にして、ダイアログのクイックアクセスを活用するとか別視点での提案されてはどうですか。

追記

ダウンロードの履歴はアプリごとだと思いますので、ブラウザとは異なるアプリだからじゃないでしょうか。

自動ダウンロードをしてから目的のurlにジャンプするページを作れば、意図されるものにはなるかと思います。
「いちいち変えるのが面倒な人はそちらを使用して下さい」みたいなアナウンスと共に配布するようすると、影響は少ないかと。

投稿2018/06/20 06:22

編集2018/06/22 01:54
sazi

総合スコア25138

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

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

sumire_cl

2018/06/25 08:18

「自動ダウンロードをしてから目的のurlにジャンプするページ」を作成することにしました。 ありがとうございます。これで使用者に納得していただけることを祈ります。
guest

0

セキュリティ上の問題により
ブラウザではそのような動作はできません。

必要なのはアップロード手段なのでcurlなどでアップロード手段を確立してしまえばいいと思います。
(ただし、アップロード先のページが仕様変更を行う可能性がある場合若干のめんどくささはあります)

投稿2018/06/22 01:29

編集2018/06/22 01:35
asm

総合スコア15147

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

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

0

IEで目的のアップロードフォルダを選択したときのレジストリを保存しておいて、
IE立ち上げ前にバッチファイル等でレジストリを書き戻すのはどうですか?

対象のレジストリはLastVisitedPidMRUのIEXPLORER.EXEのものだけでいいはずです。

投稿2018/06/20 06:01

kopio

総合スコア487

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

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

sumire_cl

2018/06/22 01:10

やっぱレジストリしかないですかね… レジストリを書き換えて他人のPCになにかあったときの対処ができる自信がないので心配です… まず自分のPCで実験してみます。
sumire_cl

2018/06/25 08:30

「自分のレジストリの当該部分を欲しいカレントフォルダにしてから、それをバックアップして、そのregファイルを使って書き戻す」というのを考えたのですが(regファイルをダブルクリックすればいいだけだから)抵抗を示されたので諦めました。 操作が一番ラクでいいんじゃないかなーと思ったのですが…むつかしいですね…(´・ω・`)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問