Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11753 / 13645 ツリー ←次へ | 前へ→

【13998】ダイアログボックスの表示について WAKO 04/5/18(火) 13:52 質問[未読]
【14000】Re:ダイアログボックスの表示について IROC 04/5/18(火) 14:04 回答[未読]
【14002】Re:ダイアログボックスの表示について ちゃっぴ 04/5/18(火) 14:07 回答[未読]
【14004】Re:ダイアログボックスの表示について ちゃっぴ 04/5/18(火) 14:19 回答[未読]
【14011】Re:ダイアログボックスの表示について WAKO 04/5/18(火) 15:46 質問[未読]
【14014】Re:ダイアログボックスの表示について WAKO 04/5/18(火) 15:55 質問[未読]
【14016】Re:ダイアログボックスの表示について IROC 04/5/18(火) 16:04 回答[未読]
【14005】Re:ダイアログボックスの表示について みかん 04/5/18(火) 14:51 回答[未読]
【14170】Re:ダイアログボックスの表示について WAKO 04/5/22(土) 13:38 質問[未読]
【14201】Re:ダイアログボックスの表示について WAKO 04/5/23(日) 16:11 お礼[未読]
【14202】Re:ダイアログボックスの表示について WAKO 04/5/23(日) 16:25 質問[未読]
【14207】Re:ダイアログボックスの表示について Asaki 04/5/23(日) 17:48 回答[未読]
【14214】Re:ダイアログボックスの表示について WAKO 04/5/23(日) 22:27 お礼[未読]
【14314】Re:ダイアログボックスの表示について WAKO 04/5/25(火) 20:38 質問[未読]
【14316】Re:ダイアログボックスの表示について ichinose 04/5/25(火) 21:14 発言[未読]
【14320】Re:ダイアログボックスの表示について WAKO 04/5/25(火) 22:50 質問[未読]
【14321】Re:ダイアログボックスの表示について ichinose 04/5/25(火) 23:21 発言[未読]
【14324】Re:ダイアログボックスの表示について ichinose 04/5/26(水) 0:52 発言[未読]
【14368】Re:ダイアログボックスの表示について WAKO 04/5/27(木) 9:44 質問[未読]
【14370】Re:ダイアログボックスの表示について つん 04/5/27(木) 10:06 回答[未読]
【14377】Re:ダイアログボックスの表示について WAKO 04/5/27(木) 14:49 お礼[未読]

【13998】ダイアログボックスの表示について
質問  WAKO  - 04/5/18(火) 13:52 -

引用なし
パスワード
   こんにちは、
ダイアログボックスの表示で質問があります。

myFName = Application.GetSaveAsFilename(, "すべてのファイル(*.*),*.*")
を使用しており、画面は開いたのですが、
画面の"ファイルの種類"は、初期表示は、"すべてのファイル(*.*)"で、
リストボックスを開いても何もでてこない。こういう仕様なのでしょうか?

また、初期表示のファイル名も"aaa.xls" という具合で、なぜか
"(ダブルコーテーション)がついて表示してきます。
これを取り除いて表示させたいのですが、どうすればいいのでしょうか。
だれか知っていたら教えて下さい。

【14000】Re:ダイアログボックスの表示について
回答  IROC  - 04/5/18(火) 14:04 -

引用なし
パスワード
   >リストボックスを開いても何もでてこない。
コンボボックスに具体的なファイルの種類は、表示されませんけど、
リストボックス?には、各フォルダとファイルが表示されますよ。
どんなファイルでも選択できるようになりますし。

【14002】Re:ダイアログボックスの表示について
回答  ちゃっぴ E-MAIL  - 04/5/18(火) 14:07 -

引用なし
パスワード
   WAKOさんちわ〜v( ̄∇ ̄)v

HELPはインストールされましたか?

私の環境では問題は起こりません。
引数の指定を間違えたのでは?

構文

expression.GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)

expression  必ず指定します。対象となる Application オブジェクトを表すオブジェクト式を指定します。

InitialFilename  省略可能です。バリアント型 (Variant) の値を使用します。既定値として表示するファイル名を指定します。この引数を省略すると、作業中のブックの名前が使われます。

FileFilter  省略可能です。バリアント型 (Variant) の値を使用します。ファイルの候補を指定する文字列 (ファイル フィルタ文字列) を指定します。

ファイル フィルタ文字列とワイルドカードのペアを、必要な数だけ指定します。ファイル フィルタ文字列とワイルドカードはカンマ (,) で区切り、各ペアもカンマで区切って指定します。各ペアは、[ファイルの種類] ボックスのリストに表示されます。次にテキストファイルとアドインの 2 つのファイル フィルタを指定します。
"テキスト ファイル (*.txt),*.txt,アドイン ファイル (*.xla),*.xla"

1 つのファイル フィルタ文字列に複数のワイルドカードを対応させるには、次のように各ワイルドカードをセミコロン (;) で区切ります。
"Visual Basic ファイル (*.bas; *.txt),*.bas;*.txt"

この引数を省略すると "すべてのファイル (*.*),*.*" を指定したことになります。

FilterIndex  省略可能です。バリアント型 (Variant) の値を使用します。引数 FileFilter で指定したファイル フィルタ文字列の中で、最初の 1 から何番目を既定値とするかを指定します。この引数を省略するか、引数 FileFilter に含まれるファイル フィルタ文字列の数より大きい数値を指定すると、最初のファイル フィルタ文字列が既定値となります。

Title  省略可能です。バリアント型 (Variant) の値を使用します。ダイアログ ボックスのタイトルを指定します。この引数を省略すると "ファイル名を付けて保存" になります。

ButtonText  省略可能です。バリアント型 (Variant) の値を使用します。Macintosh のみ指定できます。

ご確認ください。

【14004】Re:ダイアログボックスの表示について
回答  ちゃっぴ E-MAIL  - 04/5/18(火) 14:19 -

引用なし
パスワード
   補足、訂正です。

> 画面の"ファイルの種類"は、初期表示は、"すべてのファイル(*.*)"で、
> リストボックスを開いても何もでてこない。こういう仕様なのでしょうか?

仕様です。引数FilterIndexに複数のリストを","で区切って入力してください。

> また、初期表示のファイル名も"aaa.xls" という具合で、なぜか
> "(ダブルコーテーション)がついて表示してきます。

これも仕様みたいです。
InitialFilenameを指定すれば""はつきません。

結論、省略せず、引数をきちんと入れましょう

【14005】Re:ダイアログボックスの表示について
回答  みかん  - 04/5/18(火) 14:51 -

引用なし
パスワード
   ▼WAKO さん:
はじめまして、WAKOさん
以下のソースで表示されないでしょうか?

Public Sub test2()
  Dim myFName As String
  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*")

End Sub

また、FileFilterを"(*.*)"とすると初期設定のファイル名には「”」が
つくようです。

無理やりやると・・・以下ソースで、できたっぽいですけど…お勧めしません・・・
Public Sub test2()
  Dim myFName As String
  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*",2)

End Sub

【14011】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/18(火) 15:46 -

引用なし
パスワード
   ▼ちゃっぴ さん:
 実は、OFFICEがなくてHELPがインスト-ルできないのです。
 誰かに借りてきま〜す。
 以下の所ですが、InitialFilenameには変数を使用しているのですが、
 やっぱりでてきます。
 
 変数の中身がおかしいかもしれませんが、
 拡張子を抜いた、変数をInitialFilenameを指定すると
 " はつきません。
 私のプログラムミスでしょうか?


▼ちゃっぴ さん:
>補足、訂正です。
>
>> 画面の"ファイルの種類"は、初期表示は、"すべてのファイル(*.*)"で、
>> リストボックスを開いても何もでてこない。こういう仕様なのでしょうか?
>
>仕様です。引数FilterIndexに複数のリストを","で区切って入力してください。
>
>> また、初期表示のファイル名も"aaa.xls" という具合で、なぜか
>> "(ダブルコーテーション)がついて表示してきます。
>
>これも仕様みたいです。
>InitialFilenameを指定すれば""はつきません。
>
>結論、省略せず、引数をきちんと入れましょう

【14014】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/18(火) 15:55 -

引用なし
パスワード
   ▼ちゃっぴ さん:
こんにちは、別の所で質問していたのですが、
BeforeSaveの所で、以下の時に、"名前を付けて保存"を
選択した時の、パス名は取得できるのでしょうか。
できるようでしたら、すいませんが教えて下さい

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If SaveAsUI = True Then
    MsgBox "名前を付けて保存"
  Else
    MsgBox "上書き保存"
  End If
End Sub


▼WAKO さん:
>▼ちゃっぴ さん:
> 実は、OFFICEがなくてHELPがインスト-ルできないのです。
> 誰かに借りてきま〜す。
> 以下の所ですが、InitialFilenameには変数を使用しているのですが、
> やっぱりでてきます。
> 
> 変数の中身がおかしいかもしれませんが、
> 拡張子を抜いた、変数をInitialFilenameを指定すると
> " はつきません。
> 私のプログラムミスでしょうか?
>
>
>▼ちゃっぴ さん:
>>補足、訂正です。
>>
>>> 画面の"ファイルの種類"は、初期表示は、"すべてのファイル(*.*)"で、
>>> リストボックスを開いても何もでてこない。こういう仕様なのでしょうか?
>>
>>仕様です。引数FilterIndexに複数のリストを","で区切って入力してください。
>>
>>> また、初期表示のファイル名も"aaa.xls" という具合で、なぜか
>>> "(ダブルコーテーション)がついて表示してきます。
>>
>>これも仕様みたいです。
>>InitialFilenameを指定すれば""はつきません。
>>
>>結論、省略せず、引数をきちんと入れましょう

【14016】Re:ダイアログボックスの表示について
回答  IROC  - 04/5/18(火) 16:04 -

引用なし
パスワード
   >こんにちは、別の所で質問していたのですが、


こちらに書きました。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=13999;id=excel

【14170】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/22(土) 13:38 -

引用なし
パスワード
   ▼みかん さん:
はじめまして
返事が遅くなりました。

私はこういうふうにかいたのですが、
fileMei = "単品.xls"
    
myFName = Application.GetSaveAsFilename
(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")

これでもダイアログボックスの表示は、"単品.xls"
このようになります。
何か間違えているのでしょうか。
分かるようでしたら教えて下さい。


myFName = Application.GetSaveAsFilename
(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")


▼みかん さん:
>▼WAKO さん:
>はじめまして、WAKOさん
>以下のソースで表示されないでしょうか?
>
>Public Sub test2()
>  Dim myFName As String
>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*")
>
>End Sub
>
>また、FileFilterを"(*.*)"とすると初期設定のファイル名には「”」が
>つくようです。
>
>無理やりやると・・・以下ソースで、できたっぽいですけど…お勧めしません・・・
>Public Sub test2()
>  Dim myFName As String
>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*",2)
>
>End Sub

【14201】Re:ダイアログボックスの表示について
お礼  WAKO  - 04/5/23(日) 16:11 -

引用なし
パスワード
   すいません私が間違えていました。

myFName = Application.GetSaveAsFilename
(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)
こういうふうに書けばうまくいきました。

ありがとうございます。


▼WAKO さん:
>▼みかん さん:
>はじめまして
>返事が遅くなりました。
>
>私はこういうふうにかいたのですが、
>fileMei = "単品.xls"
>    
>myFName = Application.GetSaveAsFilename
>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>
>これでもダイアログボックスの表示は、"単品.xls"
>このようになります。
>何か間違えているのでしょうか。
>分かるようでしたら教えて下さい。
>
>
>myFName = Application.GetSaveAsFilename
>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>
>
>▼みかん さん:
>>▼WAKO さん:
>>はじめまして、WAKOさん
>>以下のソースで表示されないでしょうか?
>>
>>Public Sub test2()
>>  Dim myFName As String
>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*")
>>
>>End Sub
>>
>>また、FileFilterを"(*.*)"とすると初期設定のファイル名には「”」が
>>つくようです。
>>
>>無理やりやると・・・以下ソースで、できたっぽいですけど…お勧めしません・・・
>>Public Sub test2()
>>  Dim myFName As String
>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*",2)
>>
>>End Sub

【14202】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/23(日) 16:25 -

引用なし
パスワード
   みなさんこんにちは

すいませんまた別の質問なのですが、
myFName = Application.GetSaveAsFilename
(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)

これでダイアログボックスを表示して、ファイル名を変更して
保存した場合、このファイル名を取得する方法は
わかりますでしょうか。

だれか分かりましたら教えて下さい。


▼WAKO さん:
>すいません私が間違えていました。
>
>myFName = Application.GetSaveAsFilename
>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)
>こういうふうに書けばうまくいきました。
>
>ありがとうございます。
>
>
>▼WAKO さん:
>>▼みかん さん:
>>はじめまして
>>返事が遅くなりました。
>>
>>私はこういうふうにかいたのですが、
>>fileMei = "単品.xls"
>>    
>>myFName = Application.GetSaveAsFilename
>>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>>
>>これでもダイアログボックスの表示は、"単品.xls"
>>このようになります。
>>何か間違えているのでしょうか。
>>分かるようでしたら教えて下さい。
>>
>>
>>myFName = Application.GetSaveAsFilename
>>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>>
>>
>>▼みかん さん:
>>>▼WAKO さん:
>>>はじめまして、WAKOさん
>>>以下のソースで表示されないでしょうか?
>>>
>>>Public Sub test2()
>>>  Dim myFName As String
>>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*")
>>>
>>>End Sub
>>>
>>>また、FileFilterを"(*.*)"とすると初期設定のファイル名には「”」が
>>>つくようです。
>>>
>>>無理やりやると・・・以下ソースで、できたっぽいですけど…お勧めしません・・・
>>>Public Sub test2()
>>>  Dim myFName As String
>>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*",2)
>>>
>>>End Sub

【14207】Re:ダイアログボックスの表示について
回答  Asaki  - 04/5/23(日) 17:48 -

引用なし
パスワード
   こんにちは。

myFName にフルパスで戻ってきてるのでは?
ファイル名だけが欲しいのなら、Split()を使って \ で分割して、
最終要素を取ればよいかと。

【14214】Re:ダイアログボックスの表示について
お礼  WAKO  - 04/5/23(日) 22:27 -

引用なし
パスワード
   ▼Asaki さん:
ありがとうございます。
それでやってみます。


▼Asaki さん:
>こんにちは。
>
>myFName にフルパスで戻ってきてるのでは?
>ファイル名だけが欲しいのなら、Split()を使って \ で分割して、
>最終要素を取ればよいかと。

【14314】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/25(火) 20:38 -

引用なし
パスワード
   またこの件で、質問ですが本当に不思議な現象です。

myFName = Application.GetSaveAsFilename
(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)

上記で解決したと思ったのですが、
fileMei = "単品.csv" の場合
ダイアログボックスの表示は、"単品.csv"になります。
(エクセルの場合はなりません、解決済です。)
なぜ、csvだとなるか分かる方いらっしゃいますか。
すいませんが、どなたか教えて下さい。
よろしくお願いします。


▼WAKO さん:
>すいません私が間違えていました。
>
>myFName = Application.GetSaveAsFilename
>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)
>こういうふうに書けばうまくいきました。
>
>ありがとうございます。
>
>
>▼WAKO さん:
>>▼みかん さん:
>>はじめまして
>>返事が遅くなりました。
>>
>>私はこういうふうにかいたのですが、
>>fileMei = "単品.xls"
>>    
>>myFName = Application.GetSaveAsFilename
>>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>>
>>これでもダイアログボックスの表示は、"単品.xls"
>>このようになります。
>>何か間違えているのでしょうか。
>>分かるようでしたら教えて下さい。
>>
>>
>>myFName = Application.GetSaveAsFilename
>>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls")
>>
>>
>>▼みかん さん:
>>>▼WAKO さん:
>>>はじめまして、WAKOさん
>>>以下のソースで表示されないでしょうか?
>>>
>>>Public Sub test2()
>>>  Dim myFName As String
>>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*")
>>>
>>>End Sub
>>>
>>>また、FileFilterを"(*.*)"とすると初期設定のファイル名には「”」が
>>>つくようです。
>>>
>>>無理やりやると・・・以下ソースで、できたっぽいですけど…お勧めしません・・・
>>>Public Sub test2()
>>>  Dim myFName As String
>>>  myFName = Application.GetSaveAsFilename("a.xls", "すべてのファイル(*.*),*.*",2)
>>>
>>>End Sub

【14316】Re:ダイアログボックスの表示について
発言  ichinose  - 04/5/25(火) 21:14 -

引用なし
パスワード
   ▼WAKO さん:
こんばんは。

>またこの件で、質問ですが本当に不思議な現象です。
>
>myFName = Application.GetSaveAsFilename
>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)
                              ↑2を1に変えてみては
規定のファイル名とフィルターの型の規定値が一致していないからではないでしょうか?

>
>上記で解決したと思ったのですが、
>fileMei = "単品.csv" の場合
>ダイアログボックスの表示は、"単品.csv"になります。
>(エクセルの場合はなりません、解決済です。)
>なぜ、csvだとなるか分かる方いらっしゃいますか。
>すいませんが、どなたか教えて下さい。
>よろしくお願いします。
>

【14320】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/25(火) 22:50 -

引用なし
パスワード
   ▼ichinose さん:
ありがとうございます。1ならうまくいきました。
私の端末はHELPが入っておらず参考書にも
載っていませんでしたので、お聞きしたいのですが
1と2の違いは分かりますか。
お手数ですが教えていただけないでしょうか。
よろしくお願いします。


>▼WAKO さん:
>こんばんは。
>
>>またこの件で、質問ですが本当に不思議な現象です。
>>
>>myFName = Application.GetSaveAsFilename
>>(fileMei, "CSVファイル(*.csv),*.csv,エクセルファイル(*.xls),*.xls",2)
>                              ↑2を1に変えてみては
>規定のファイル名とフィルターの型の規定値が一致していないからではないでしょうか?
>
>>
>>上記で解決したと思ったのですが、
>>fileMei = "単品.csv" の場合
>>ダイアログボックスの表示は、"単品.csv"になります。
>>(エクセルの場合はなりません、解決済です。)
>>なぜ、csvだとなるか分かる方いらっしゃいますか。
>>すいませんが、どなたか教えて下さい。
>>よろしくお願いします。
>>

【14321】Re:ダイアログボックスの表示について
発言  ichinose  - 04/5/25(火) 23:21 -

引用なし
パスワード
   ▼WAKO さん:
>1ならうまくいきました。
>私の端末はHELPが入っておらず参考書にも
>載っていませんでしたので、お聞きしたいのですが
>1と2の違いは分かりますか。
>お手数ですが教えていただけないでしょうか。

一応、本家サイトにもHelpと同様なサイトがありますから
参考にして下さい。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/off2000/vbaxl/html/xlmthgetsaveasfilename.asp


↑これは、GetsaveasfilenameメソッドのHelpです。


右の索引の「Officeソリューション開発」という項目を探ってみて下さい。
Helpより、不便だけど似たような説明がありますよ!!

【14324】Re:ダイアログボックスの表示について
発言  ichinose  - 04/5/26(水) 0:52 -

引用なし
パスワード
   ▼WAKO さん:
こんばんは。
寝る前にこのツリーを全部見てみたら、Helpの引用がありましたね?
ということは、HELPの内容だと???と言う事だったのでしょうか?

例えば、以下のコードを実行してみて下さい。

'====================================================================
Sub test100()
  Dim flnm
  flnm = "abc.xls"
  myfname = Application.GetSaveAsFilename(flnm, "私があまり使わない形式(*.cvs),*.csv,これは頻繁に使う形式(*.xls),*.xls,こんなの使った事ない(*.ddf),*.ddf", 2)
  MsgBox myfname
End Sub

こんなんでもこのメソッド実行します。

ここで注目するのは、

"私があまり使わない形式(*.cvs),*.csv,これは頻繁に使う形式(*.xls),*.xls,こんなの使った事ない(*.ddf),*.ddf"

↑この文字列分解すると・・・、

 私があまり使わない形式(*.cvs),*.csv   ----1

 これは頻繁に使う形式(*.xls),*.xls   ------2

 こんなの使った事ない(*.ddf),*.ddf   ------3

それぞれがHelpにもあった「ファイル フィルタ文字列とワイルドカードのペア」です。

ファイル フィルタ文字列というのがGetSaveAsFilenameメソッドを実行したとき、
「ファイルの種類」に表示される文字列です(何でもいいんです)

ここでは、「Application.GetSaveAsFilename(flnm, フィルタ文字列・・, 2)」
でFilterIndexが2になっていますよね。

よって、「ファイルの種類」には、「これは頻繁に使う形式(*.xls)」が規定値として
表示されます。

""が表示される現象は、InitialFilenameの拡張子(例では、xls)と2のファイルフィルタのワイルドカードの拡張子(xls)が一致していないときに表示されるみたいです。
(それ以外に気になる現象がありましたが・・)

Helpに書かれているのはこんな内容ですが、いかがでしょうか?

【14368】Re:ダイアログボックスの表示について
質問  WAKO  - 04/5/27(木) 9:44 -

引用なし
パスワード
   ありがとうございます。
自宅のパソコンにはHELPはないです。
多分HELPの引用は、他のパソコンでした時だと思います。

すいません一気に質問したらよかったのですが
このApplication.GetSaveAsFilenameで
初期表示されるフォルダの場所を設定する事はできるのでしょうか
すいませんがだれか分かる方、お願いします。


▼ichinose さん:
>▼WAKO さん:
>こんばんは。
>寝る前にこのツリーを全部見てみたら、Helpの引用がありましたね?
>ということは、HELPの内容だと???と言う事だったのでしょうか?
>
>例えば、以下のコードを実行してみて下さい。
>
>'====================================================================
>Sub test100()
>  Dim flnm
>  flnm = "abc.xls"
>  myfname = Application.GetSaveAsFilename(flnm, "私があまり使わない形式(*.cvs),*.csv,これは頻繁に使う形式(*.xls),*.xls,こんなの使った事ない(*.ddf),*.ddf", 2)
>  MsgBox myfname
>End Sub
>
>こんなんでもこのメソッド実行します。
>
>ここで注目するのは、
>
>"私があまり使わない形式(*.cvs),*.csv,これは頻繁に使う形式(*.xls),*.xls,こんなの使った事ない(*.ddf),*.ddf"
>
>↑この文字列分解すると・・・、
>
> 私があまり使わない形式(*.cvs),*.csv   ----1
>
> これは頻繁に使う形式(*.xls),*.xls   ------2
>
> こんなの使った事ない(*.ddf),*.ddf   ------3
>
>それぞれがHelpにもあった「ファイル フィルタ文字列とワイルドカードのペア」です。
>
>ファイル フィルタ文字列というのがGetSaveAsFilenameメソッドを実行したとき、
>「ファイルの種類」に表示される文字列です(何でもいいんです)
>
>ここでは、「Application.GetSaveAsFilename(flnm, フィルタ文字列・・, 2)」
>でFilterIndexが2になっていますよね。
>
>よって、「ファイルの種類」には、「これは頻繁に使う形式(*.xls)」が規定値として
>表示されます。
>
>""が表示される現象は、InitialFilenameの拡張子(例では、xls)と2のファイルフィルタのワイルドカードの拡張子(xls)が一致していないときに表示されるみたいです。
>(それ以外に気になる現象がありましたが・・)
>
>Helpに書かれているのはこんな内容ですが、いかがでしょうか?

【14370】Re:ダイアログボックスの表示について
回答  つん E-MAIL  - 04/5/27(木) 10:06 -

引用なし
パスワード
   おはようございます。

>このApplication.GetSaveAsFilenameで
>初期表示されるフォルダの場所を設定する事はできるのでしょうか

引数とかで設定はできないと思います。
現在のフォルダ……が、初期表示されるので、
「ChDir」で現在のフォルダを予め変更させておく必要があります。

ChDir "D:\TMP"

こんな感じ。
これを書いてから、Application.GetSaveAsFilenameすれば
「D:\TMP」が初期表示されると思います。

【14377】Re:ダイアログボックスの表示について
お礼  WAKO  - 04/5/27(木) 14:49 -

引用なし
パスワード
   ▼つん さん:
ありがとうございます。
うまくいきました。
今後ともよろしくお願いします。


>おはようございます。
>
>>このApplication.GetSaveAsFilenameで
>>初期表示されるフォルダの場所を設定する事はできるのでしょうか
>
>引数とかで設定はできないと思います。
>現在のフォルダ……が、初期表示されるので、
>「ChDir」で現在のフォルダを予め変更させておく必要があります。
>
>ChDir "D:\TMP"
>
>こんな感じ。
>これを書いてから、Application.GetSaveAsFilenameすれば
>「D:\TMP」が初期表示されると思います。

11753 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free