- ベストアンサー
パスをセルから取得し保存 VBA
エクセルVBAでの質問です。 Cドライブにテキスト形式で保存する場合は = xlAPP.GetSaveAsFilename(InitialFileName:="C:\test.txt",FileFilter:=cnsFILTER,Title:=cnsTITLE) となると思いますが、上記で使われている”C:\”の部分をセル(保存したいパスを入力)から取得する場合はどのように記述すればよいでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No1. さんが書かれた通りなのですが、言葉を変えてお答えします。 エクセルVBAで、セルに書かれた文字情報を取得するには = Application.Workbooks(ブック名).Worksheets(シート名).Range(セル範囲) とします。 ブック: 例えば "ABC.XLS" シート名: 例えば "Sheet1" セル範囲: 例えば "A1" もしあらかじめ、そのブックが選択されているなら = Worksheets(シート名).Range(セル範囲) でも同じ結果が得られます。 更にもしあらかじめ、そのブックの、そのシートが選択されているなら = Range(セル範囲) でも同じ結果が得られます。 更にもしあらかじめ、そのセルが選択されているなら = Selection でも同じ結果が得られます。 (^-^) ですから、ご質問の答は = xlAPP.GetSaveAsFilename(InitialFileName:=Range("A1"),FileFilter:=cnsFILTER,Title:=cnsTITLE) のようなイメージになります。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
「xlAPP」で引き当ててるってことは,エクセル上で稼働しているマクロでは無いのかな? ご質問の直接の回答としては,(あるエクセルオブジェクトの)あるブックのあるシートのあるセルに「C:\」などのパスが区切りの「\」まで書いてあるとすると = xlAPP.GetSaveAsFilename( _ InitialFilename:= xlapp.ブックオブジェクト.worksheets("シート名").range("セル番地").value & "test.txt", _ FileFilter:= … などのようになりますね。