- ベストアンサー
ExcelVBAを使ってシートの行の情報をテキストファイルに書き込みたいのですが...
ExcelVBAを使ってシートの行の情報をテキストファイルに書き込みたいのですが... (とりあえず、一行分をテキストファイルに書き込みたいです) 色々なサイトを見ても難しそうなことが多く書いてあったので、上記のような例でサンプルを使って(なるべくシンプルな形で)ご教授していただける方がいらっしゃればお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Const cnTITLE = "HTMLファイル出力処理" Const cnFILTER = "全てのファイル (*.*),*.*" Dim xlAPP As Application ' Applicationオブジェクト Dim intFF As Integer ' FreeFile値 Dim strFILENAME As String ' OPENするファイル名(フルパス) Dim bufStr As String 'ファイルの内容 Dim GYO As Long ' 収容するセルの行 'A1~?1までセルに文字が無い所までカンマ区切りで変数に格納 GYO = 1 Do If Worksheets("データ入力").Cells(1, GYO).Value = "" Then Exit Do Else strAft = strAft + Worksheets("データ入力").Cells(1, GYO).Value strAft = strAft + "," End If Loop 'ここからファイル操作 ' Applicationオブジェクト取得 Set xlAPP = Application ' 「名前を付けて保存」のフォームでファイル名の指定を受ける xlAPP.StatusBar = "出力するファイル名を指定して下さい。" strFILENAME = xlAPP.GetSaveAsFilename(InitialFilename:="hoge.txt", _ FileFilter:=cnFILTER, Title:=cnTITLE) ' キャンセルされた場合は以降の処理は行なわない If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub ' FreeFile値の取得(以降この値で入出力する) intFF = FreeFile ' 指定ファイルをOPEN(出力モード) Open strFILENAME For Output As #intFF ' レコードを出力 Print #intFF, bufStr ' 指定ファイルをCLOSE Close #intFF とりあえずこれで試してみてください。 あくまで1行分だけです
お礼
ありがとうございました。 試してみましたが、思ったような動きができました!