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

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

ただいまの
回答率

90.53%

  • VBA

    1777questions

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

  • Windows

    1437questions

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

  • Webサイト

    1073questions

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

  • Windows 10

    937questions

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

  • VBScript

    221questions

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

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

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 423

sumire_cl

score 54

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

Webページの「アップロード」ボタンを押して、
ダイアログからネットワークフォルダ上に置いてあるファイルアップロードをする作業があります。

ファイルアップロードをするときに開くダイアログで最初に表示されるディレクトリは
自分が最後にアップロードもしくはダウンロードしたディレクトリが表示されます。

そうではなくて、アップロードするファイルがある場所を最初から表示させたいのです。
「ファイルが置いてあるところまでいちいちクリックして移動するのがめんどくさい」
というご意見をいただいてしまったので……。

アップロードするファイルが置いてある場所は業務ごとに固定です。
なので決め打ちで指定するほうができそうなので、それをしようと調べています。

 試したこと

レジストリの以下のところに保存されているということまでは調べました。
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
この項目をまるっと削除してしまえば、履歴自体は消えるっぽいです。
でも、希望のフォルダをそこに設定し直す方法がわかりません。

IE11のダウンロードの設定から、ダウンロードフォルダを設定しても
ダイアログがそっちを向くわけではないようです。

VBAならちょっとわかるので、
VBAでカレントディレクトリを設定してからVBAからIEを起動させて、それからアップロードボタンを押すようにしたらいいのかなー
ということも試してみました。

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "http://www.testurl.jp/uploadgamen.html"
Application.FileDialog(msoFileDialogFolderPicker).InitialFileName = "\\testserver.jp\uploadsitaifolder\"


だめでした。
ExcelのVBEのイミディエイトウィンドウからカレントフォルダがどこか聞くと、上記で設定したフォルダになっているので
Excelのなかではカレントフォルダがちゃんとそれに書き換わっているようなのですが……。

昔はVBScriptで「UserAccounts.CommonDialog」とかを使ったように記憶しているのですが、
検索したらこれはWinXPでしか使えないのですね。

 補足情報(FW/ツールのバージョンなど)

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

今回はわからない度がとても高いので、漠とした質問のしかたになってしまい、申し訳ありません。
よろしくお願いいたします。

追記 2018.06.22

レジストリを書き換える度胸が足りないので
「先に1回何かをダウンロードしておいて、カレントフォルダをそちらに向ける」
という作戦を考え中です。
iMacros を使って
まず1回、カレントフォルダにしたいフォルダに自動でファイルをダウンロードさせます。

VERSION BUILD=12.0.501.6698
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://www.testurl.jp/dummyfileoitokugamen.html  'ここにダミーファイルをダウンロードできるページを作っておく
ONDOWNLOAD FOLDER=\\testserver.jp\uploadsitaifolder FILE=* WAIT=YES
TAG POS=1 TYPE=A ATTR=TXT:download


これでダウンロードができたので、カレントフォルダも変わっていると思いきや…… 変わっていませんでした……
手でダイアログを操作してファイルをダウンロードすれば、カレントフォルダはこちらに変わるのに
iMacrosは手入力を代行してくれるツールのはずなのに、何が違うのかしら…… 違うツールだったらどうかしら…… と困っています。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+1

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

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

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

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

追記

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

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

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 17:18

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

    キャンセル

+1

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


例えば

ファイルアップロードをするときに開くダイアログで最初に表示されるディレクトリは
自分が最後にアップロードもしくはダウンロードしたディレクトリが表示されます。

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/22 10:32

    ありがとうございます。
    業務ごとに「アップロード用フォルダ」があって、そこにアップロード用のファイルは常に集められています。
    その「アップロード用フォルダ」に、必要なときには常に向いていてほしいらしいのです。

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

    キャンセル

  • 2018/06/22 13:44

    困ったものですね。(笑)

    「FFFTP」ソフトで初期フォルダに設定するのではダメでしょうか?

    キャンセル

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/22 10:10

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

    キャンセル

  • 2018/06/25 17:30

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

    キャンセル

0

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

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

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/22 10:47

    curl… これですね!
    http://april.fool.jp/blogs/2014/02/windows%E3%81%A7curl%E3%82%92%E4%BD%BF%E3%81%8A%E3%81%86%E3%80%82%E3%81%82%E3%82%8B%E3%81%84%E3%81%AFmicrosoft-security-essential%E3%81%AE%E5%AE%9A%E7%BE%A9%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/

    なんか作ってみます!

    キャンセル

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

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    ファイルアップロード

    ファイルアップロードのapi作成についての質問です。 ローカルにあるファイルをアップロードし、その中身のテキストをデータベースのテーブルの指定位置に書き込むことは可能でしょうか。

  • 解決済

    ファイルを開かずにヘッダーヘッターの取得

    いつも丁寧な解答をありがとうございます。 今回はexcel2010のVBAについて教えて下さい。 やりたいこととしては、フォルダ内にあるすべてのExcelブックのファイ

  • 受付中

    マクロ実行中のセル入力について

    excelvbaでマクロ実行中に セルに入力をするとマクロがとまってしまいます。 マクロの内容としては、セルの順番にアクティベートにして、 そのセルに入力を出来るようにしたい

  • 解決済

    VBA IE制御でファイル選択ダイアログにファイルパス入力

    ACCESSで商品データベースを持っており、通販サイトへ商品登録作業を簡略化しようとVBAで出品プログラムを作っております。 本来は通販サイトへの画像の登録はWEBブラウザで

  • 解決済

    VBA グラフ 第二軸の設定

    お疲れ様です。 Takkoです。 現在VBA学習中の物です。 下記コードはグラフに対して、 系列を4つ、そのデータの参照範囲を指定した部分のプログラムです。 Set a

  • 解決済

    別ファイルのセル 操作

    別ファイルのセルの操作ができず、困っています。 ファイルAからファイルBを開き、ファイルBを閉じるときに、ファイルAに値を反映させて、ファイルBを閉じる処理を行いたいと思ってお

  • 解決済

    自身が存在している同じフォルダのフォルダを開きたい

    こんにちわ Excelでマクロ(VBA)をかいています 実行するとまずファイルを選択するダイヤログを開くのですが、そのファイルを自身が存在しているフォルダと同じフォルダがデ

  • 解決済

    VBAで複数のExcelファイルを印刷するマクロについて

     前提・実現したいこと VBAでフォームのリストボックス内にダイアログで選択したExcelファイル(複数)を表示させ。 ①リストボックス内のExcelファイル(複数)をブック全体で

同じタグがついた質問を見る

  • VBA

    1777questions

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

  • Windows

    1437questions

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

  • Webサイト

    1073questions

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

  • Windows 10

    937questions

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

  • VBScript

    221questions

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