プロが教える店舗&オフィスのセキュリティ対策術

エクセルVBAでの質問です。
Cドライブにテキスト形式で保存する場合は

= xlAPP.GetSaveAsFilename(InitialFileName:="C:\test.txt",FileFilter:=cnsFILTER,Title:=cnsTITLE)

となると思いますが、上記で使われている”C:\”の部分をセル(保存したいパスを入力)から取得する場合はどのように記述すればよいでしょうか?
よろしくお願いします。

A 回答 (2件)

No1. さんが書かれた通りなのですが、言葉を変えてお答えします。



エクセルVBAで、セルに書かれた文字情報を取得するには

= Application.Workbooks(ブック名).Worksheets(シート名).Range(セル範囲)

とします。
   ブック:  例えば "ABC.XLS"
   シート名: 例えば "Sheet1"
   セル範囲: 例えば "A1"

もしあらかじめ、そのブックが選択されているなら
   = Worksheets(シート名).Range(セル範囲)
でも同じ結果が得られます。

更にもしあらかじめ、そのブックの、そのシートが選択されているなら
   = Range(セル範囲)
でも同じ結果が得られます。

更にもしあらかじめ、そのセルが選択されているなら
   = Selection
でも同じ結果が得られます。 (^-^)


ですから、ご質問の答は
   = xlAPP.GetSaveAsFilename(InitialFileName:=Range("A1"),FileFilter:=cnsFILTER,Title:=cnsTITLE)
のようなイメージになります。
    • good
    • 0

「xlAPP」で引き当ててるってことは,エクセル上で稼働しているマクロでは無いのかな?



ご質問の直接の回答としては,(あるエクセルオブジェクトの)あるブックのあるシートのあるセルに「C:\」などのパスが区切りの「\」まで書いてあるとすると

= xlAPP.GetSaveAsFilename( _
InitialFilename:= xlapp.ブックオブジェクト.worksheets("シート名").range("セル番地").value & "test.txt", _
FileFilter:= …

などのようになりますね。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A