- ベストアンサー
VBAの組み込みダイアログの引数Argについて
- エクセルVBAでの質問です。エクセルとして名前をつけて保存する方法、テキストファイルとして名前をつけて保存する方法、CSVファイルとして名前をつけて保存する方法をご紹介します。
- また、ファイルを開く際のダイアログについても説明します。ダイアログの表示内容や引数の指定方法について詳しく解説します。
- VBAを使って効率的にファイルの保存や開く操作を行いたい方には必見の情報です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>フォルダ指定 以前のご相談と全く同じで arg1:="c:\folder\*.xls" で出来ますよ。 #スミマセン,回答サンプルマクロで「.show」を書き忘れていましたね。ご覧になって勿論お判りとは思いましたが,失礼しました。 #前回ご質問で書き忘れていましたが(そういえばあっちの相談もまだ閉じられてないようなので,そっちに補足しても良かったかもしれませんね)共有フォルダをネットワークドライブにする場合,各ユーザーが公開フォルダのさらに下のどのフォルダを割り当てるかは自由に選択できてしまうため,コンピュータ名から指定した方が安全です。 つまり,あるcomp_nameからcommonフォルダが共有公開されていた場合に, あるユーザーは「\\comp_name\common」をMドライブにしているかもしれません。 別のユーザーは「\\comp_name\common\subfolder」をLドライブにしているかもしれません。 あなたのご相談のシナリオでは,このMドライブに対してはsubfolderからパス指定しなければいけませんが,Lドライブに対してはsubfolderを除いたパス指定が必要になりますという事です。 >微妙な違い 単なる引数の呼称であって,機能的な内容は全くありません。 有り体に言えばマイクロソフトの設計担当者のキブンの問題です。 実際にヘルプを見てみると,どのダイアログの引数にはfileが使われていて,また別のどのダイアログの引数にはDocumentが使われているか確認できますので,見比べてみると当時の担当者の考えを推測できるかもしれません。 WORDなどのVBAヘルプにも同様の一覧がありますので,さらに見比べてみるのも面白いかも?しれません。
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
ExcelVBAのヘルプでは「Dialogs コレクション オブジェクト」からリンクしている「組み込みダイアログ ボックス引数一覧」に全ての情報が示されています。 xlDialogOpenについては Arg1はfile_text, Arg2はupdate_links Arg3はread_only Arg4はformat 以下続く で,実際にはOpenメソッドの引数に概ね対応しています。 Arg2については(以下ExcelVBAのヘルプより引用) 0 外部参照とリモート参照は共に更新されません。 1 外部参照は更新され、リモート参照は更新されません。 2 リモート参照は更新され、外部参照は更新されません。 3 外部参照とリモート参照は共に更新されます。 をそれぞれ指定することが出来ます。 ちなみにxlDialogSaveAsでは Arg1:=document_text Arg2:=type_num Arg3:=prot_pwd Arg4:=backup Arg5:=write_res_pwd Arg6:=read_only_rec です。 ご質問のマクロで何をしたいのかイマイチ不明ですが,xldialogopenダイアログを使うなら例えば application.dialog(xldialogopen) arg1:="*.xls" などでしょうか。
お礼
ありがとうございます。 xlDialogOpenのArg2はリンクの設定方法だったわけですね。 Arg1はxlDialogOpenではfile_text xlDialogSaveAsではdocument_text と微妙に違いますがこの違いはなんでしょう? また、application.dialog(xldialogopen) arg1:="*.xls"で、 デフォルトで組み込みダイアログのフォルダーを指定する方法はないのでしょうか?
- Trick--o--
- ベストアンサー率20% (413/2034)
組み込みダイアログ ボックス引数一覧 http://www.excel7.com/personal/vba_shiryou1.htm xlDialogSaveAsの引数は document_text、type_num、prot_pwd、backup、write_res_pwd、read_only_rec xlDialogOpenの引数は file_text、update_links、read_only、 format、prot_pwd、write_res_pwd、ignore_rorec、file_origin、custom_delimit、 add_logical、editable、file_access、notify_logical、converter
お礼
ありがとうございます。 xlDialogOpenのArg2はupdate_linksということですね?リンクの設定方法だったわけですか。 Arg1はxlDialogOpenではfile_text xlDialogSaveAsではdocument_text と微妙に違いますがこの違いはなんでしょう?
お礼
> arg1:="c:\folder\*.xls" > で出来ますよ。 あ、そうですね!できました。 ありがとうございます。 > 共有フォルダをネットワークドライブにする場合,各ユーザーが公開フォルダのさらに下のどのフォルダを割り当てるかは自由に選択できてしまうため,コンピュータ名から指定した方が安全です。 気がつきませんでした。 そのとおりですね、ご配慮感謝いたします。 今回も、なにからなにまでお世話になりました。 ありがとうございました。