ファイル保存時のダイアログ表示フォルダを変更したい

このQ&Aのポイント
  • ファイル保存時に表示されるダイアログのフォルダを変更する方法を教えてください。
  • ファイル保存時のダイアログでネットワーク上のフォルダを表示するにはどのように記述すれば良いですか?
  • ファイルを開くダイアログではネットワーク上のフォルダが表示されるのですが、保存ダイアログではデスクトップが表示されます。ネットワーク上のフォルダを表示するにはどのようにすれば良いですか?
回答を見る
  • ベストアンサー

ファイル保存時のダイアログ表示フォルダを変更したい

ファイル保存時にネットワーク上のフォルダを表示するダイアログを表示するには どのように記述すればよろしでしょうか。ご教授よろしくお願い致します。 以下、教えていただいたコードですが Const PathName = "\\●●\○○\" Call SetCurrentDirectory(PathName) Application.Dialogs(xlDialogSaveAs).Show このコードでファイルを開くダイアログを記述すると 設定したネットワーク上のフォルダを表示するのですが Application.Dialogs(xlDialogOpen).Show  ---OK ファイル保存のダイアログを記述すると では、デスクトップがダイアログに表示されます。 Application.Dialogs(xlDialogSaveAs).Show ---NG Application.Dialogs(xlDialogSaveAs).Show の場合(保存ダイアログ表示)は どのように記述すれば、ネットワーク上のフォルダを表示できますでしょうか。 よろしくお願い致します。

noname#165268
noname#165268

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

> 以下、教えていただいたコードですが 知恵袋なんですかね。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1069738535 もともとカレントフォルダなど操作するのではなく、 http://support.microsoft.com/kb/139723/ja 第1引数にパスを指定する方法を使う方がいいのではないかと思いますが、 同じ動作をしてしまいますね。 この時点で、Dialogs(xlDialogSaveAs) では難しいでしょう。 ネットワークドライブにするか、#1さんのおっしゃるように API のコモンダイアログを使う事を考えた方がいいと思います。

noname#165268
質問者

お礼

使い方がわからず御礼が遅くなり、大変申し訳ございません。 皆さんの回答を頂き、色々試してみた結果 何とか解決にこぎつけました。 ありがとうございました。 またよろしく御願い致します。

その他の回答 (1)

回答No.1

SetCurrentDirectory は API を使ってるんでしょうかね。 個人的には Application.Dialogs じゃなくて Application.GetOpenFilename や Application.GetSaveAsFilename のダイアログを使う方が好きですけどね。 これならきちんと UNC パスになってくれると思います。 Dialogs(xlDialogSaveAs) や Dialogs(xlDialogOpen) は Excel で対応しているファイル形式だけを取り扱う事しかできないけれど、GetOpenFilename や GetSaveAsFilename はダイアログの機能だけを提供してくれるので、開いたり保存したりも自分のコードでコントロールできます。

noname#165268
質問者

お礼

使い方がわからず御礼が遅くなり、大変申し訳ございません。 皆さんの回答を頂き、色々試してみた結果 何とか解決にこぎつけました。 ありがとうございました。 またよろしく御願い致します。

関連するQ&A

  • 保存ダイアログのファイルの種類を限定したい

    Excel 2003を使用しております。 VBAで以下のように保存ダイアログを表示させたときの 「ファイルの種類」をxlsだけにしたいのですが どうすればいいのでしょうか? Application.Dialogs(xlDialogSaveAs).Show

  • VBAの組み込みダイアログの引数Argについて

    エクセルVBAでの質問です。 エクセルとして名前をつけて保存なら Sub aaa() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.xls", ARG2:=1 End Sub テキストファイルとして名前をつけて保存なら Sub bbb() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.txt", ARG2:=3 End Sub CSVファイルとして名前をつけて保存なら Sub ccc() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.csv", ARG2:=6 End Sub でうまくいきます。 今度は、ファイルを開こうとxlDialogOpenに変えました。 Sub aaa2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.xls" ', ARG2:=1 End Sub Sub bbb2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.txt", ARG2:=3 End Sub 以上二つはファイル名入りのダイアログは出ました。でもダイアログの画面にはフォルダーしか表示されません。 Sub ccc2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.csv", ARG2:=6 End Sub これは実行時エラーになりました。 どうも、Application.Dialogs(xlDialogSaveAs)とApplication.Dialogs(xlDialogOpen)では引数ARG2が違うようです。 Application.Dialogs(xlDialogOpen)でのARG2は何の指定なのでしょうか?またその数値の意味はなんでしょうか?

  • エクセル ファイル名を指定して保存したい。

    現在次のようなマクロを最後に記述してそこでダイアログボックスに表示されるデフォルトのファイル名に都度日にちを手動入力して保存しています。 これを自動でファイル名を保存ダイアログボックスに表示できるようにしたいのですがどのような記述にしたらいいでしょうか ※ファイル名 A1に2016/9/15と入っている場合 「160915△△△△△△△..xlsm」と保存したい。 (「△△△△△△△」は固定) 現在使用中 Application.Dialogs(xlDialogSaveAs).Show Windows7/エクセル2013

  • 保存先のフォルダ名を指定したいとき

    希望する事は ファイルを保存するフォルダを指定し、 ファイル名(インプットボックスをつかって 変数として入力させたもの)をつけて保存したい。 フォルダは事前に作成してあるが 保存したい場所はそのときによってまちまちなので 保存するたびにフォルダを指定したい。 具体的には C:\入力済みデータ\【○○】としたいのですが この【○○】の部分を、そのときに応じて選択するにはどうすればいいでしょうか。 または、浅知恵で Application.Dialogs(xlDialogSaveAs).Show arg1:="c:\" というかたちでダイアログボックスを出すまでは出来たのですが ファイル名は空欄になってしまいますよね。 InputBoxでファイル名を変数として入力させたものを 上のファイル名に入れることは可能ですか? どうぞよろしくお願いします。

  • エクセルVBAの「組み込みダイアログボックス」の使用法?

    いつもありがとうございます。 組み込みダイアログボックスについて教えてください。 エクセルのシート内容をCSV形式で保存する場合、組み込みダイアログボックスを使い、下記のマクロでうまく行きました。 Sub CSV保存() '~略~ Application.Dialogs(xlDialogSaveAs).Show ARG2:=6 '~略~ End Sub 試した結果、上記の組み込みダイローグのファイルの種類のデフォルトは ARG2:=の次の値が6でcsv、1でエクセルになるようでした。 次に、エクセルを開いた状態でCSVファイルを開こうと思い、同様に組み込みダイアローグを使用するため下記のマクロを作りました。ところがうまくいきません。 Sub CSVdata取得() Application.Dialogs(xlDialogOpen).Show ARG2:=6 End Sub ・・・・と記述するとエラーになります。 この場合、どうも ARG2:=6の6の数字のところが4以上はエラーとなるようです。 ARG2:=の次の値を1~3にするとエラーにはなりませんが、デフォルトはいずれもエクセルでした。 最初からファイルの種類をCSV形式にするにはどう記述したらよいのでしょうか? どうかお助けください。

  • ファイルの保存ダイアログの表示座標を指定したい

    アプリケーションのファイルメニューにある「ファイルの保存」などで 呼び出された保存先を指定するダイアログの表示場所がいつも そのアプリケーションの真ん中だったりで使いづらいのです。 ダイアログの表示場所をこちらがあらかじめ指定した場所に表示 するように変更するユーティリティがありませんでしょうか? (保存先フォルダを選べるようにする、とかではなくダイアログその ものの表示場所を指定・記憶し再現するものです) ご存じの方おられましたら教えてください。

  • excelマクロ、任意セルの値で名前を付けて任意のフォルダに保存

    マクロの初心者ですが、どうか教えてください。 テンプレートブックを名前を付けて保存するマクロで 苦戦しております。  ・ダイアログを必ず開く  ・その時の保存先はz:\あああ  ・ブック名はアクティブシートの任意のセルA1 --------------------------------------------- Application.Dialogs(xlDialogSaveAs).Show _ Arg1:=Range("A1").Value ここまではたどり着けたのですが、ダイアログが 当初のテンプレートブックの保存場所が開いてしまいます。 どうぞよろしくお願いいたします。

  • ファイルの保存場所を設定してしまう方法

    ファイルを保存する時に、保存先を指定できるマクロ(下記参照)があります。 保存場所あらかじめ設定するには、何を足せばいいのでしょうか? Sub NameSave() Application.EnableEvents = False Application.Dialogs(xlDialogSaveAs).Show arg1:=ファイル名 Application.EnableEvents = True End Sub vbaは初心者です。 エクセル2003を使っています。 ご存知の方、どうぞ教えてください。 よろしくお願いいたします。

  • エクセルで所定のフォルダーにPDFファイルで保存

    エクセル、ワードでほぼ毎日送付する報告書をpdfファイルで送ることになりました。 ファイル名が指定の数字10桁(LOT No)で、これはエクセル表に入力してあるのでそのセルから引っ張ってきたいのです。⇒オペミス防止 少し調べてみたら非常に簡単な下記の3行で出来ることが分かったのですが、ついでにpdfファイル(D10のセル内容+.pdf)で保存画面が出て来れば非常に便利。 更なる欲としては、フォルダーまで指定できれば、マクロボタン化しておけば非常に便利なのですが。 1つ1つのマクロはここで絶大なるHELPを受けて出来ているのですが情けないことに全く応用が利きません。 Sub File() Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("D10") End Sub 尚、このコードはSheet1にしか適用されないようなので任意のActiveページで使いたいのですが。

  • エクセルVBA 組み込みダイアログのコンパイルエラーについて

    ファイル保存のための組み込みダイアログでデフォルトの名前を指定したい場合、 Application.Dialogs(xlDialogSaveAs).Show 'ARG1:="あたらしいファイル", ARG2:=1) でOKなのですが、 キャンセルボタンを押された場合の処理をするため Dim boCheck As Boolean boCheck = Application.Dialogs(xlDialogSaveAs).Show 'ARG1:="あたらしいファイル", ARG2:=1) If boCheck = False Then キャンセルの場合の処理 Else そうでない場合の処理 End if とするとコンパイルエラーになります。 どこが悪いのでしょうか?

専門家に質問してみよう