昨日質問させていただいて、大丈夫とおもったら、
問題がでてきましたので、再度質問させてください。
(昨日のは締め切ってしまったので。。。)
===やりたい事====
セルの値で
フォルダやファイル名とファイルの内容を一気に保存したいのですが、
どうしても式がわかりません。。
やりたいことはここにまとめてます。
↓
http://bsmile.sakura.ne.jp/phptest/cc1.jpg
1
A列のフォルダと作って、
2
B行のファイル名で、
3
C行の内容のファイルを作りたいのです。
===問題点====
昨日質問させていただいて
こちらのマクロで動くようになり
↓↓↓↓↓↓↓↓↓↓↓↓↓
csvならこの程度、、、
Option Explicit
Sub Ottotto()
Const xPath0 = "C:\Users\user\Desktop\test\"
Dim xSheet As Worksheet
Dim xPath As String
Dim xName As String
Dim xText As String
Dim nn As Integer
Application.DisplayAlerts = False
Set xSheet = ActiveSheet
For nn = 1 To xSheet.Range("A" & Rows.Count).End(xlUp).Row
xName = xSheet.Cells(nn, "B").Value
xText = xSheet.Cells(nn, "C").Value
xPath = (xPath0 & xSheet.Cells(nn, "A").Value & "\")
If (Dir(xPath, vbDirectory) = vbNullString) Then
MkDir xPath
End If
ChDrive (Left(xPath, 1))
ChDir (xPath)
With Workbooks.Add
Worksheets(1).Cells(1, "A").Value = xText
.SaveAs (xPath & xName & ".csv")
.Close False
End With
Next
Application.DisplayAlerts = True
End Sub
できた.csvファイルは確かにエクセルでひらけたので
すっかり、安心していたのですが、
たとえば、できたcsvファイルをメモ帳やテラパッドのようなエディターで開いたら
「NULLがどーの」と文字化けの塊みたいになります。
基本的にできたファイルはメモ帳などで開きたいのですが、、、、
多分スクリプトの書き込む際の文字コードだとおもうのですが、
With Workbooks.Add
Worksheets(1).Cells(1, "A").Value = xText
.SaveAs (xPath & xName & ".csv")
.Close False
このあたり、どうスクリプトを書込めばいいかわかりません。
どなたかおしえていただけないでしょうか??
どうぞよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
下記でテキスト保存されます。
Sub Ottotto()
Const xPath0 = "C:\Users\user\Desktop\test\"
Dim xSheet As Worksheet
Dim xPath As String
Dim xName As String
Dim xText As String
Dim nn As Integer
Dim FSO, Textfile As Object
Application.DisplayAlerts = False
Set xSheet = ActiveSheet
For nn = 1 To xSheet.Range("A" & Rows.Count).End(xlUp).Row
xName = xSheet.Cells(nn, "B").Value
xText = xSheet.Cells(nn, "C").Value
xPath = (xPath0 & xSheet.Cells(nn, "A").Value & "\")
If (Dir(xPath, vbDirectory) = vbNullString) Then
MkDir xPath
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Textfile = FSO.OpenTextFile(xPath & xName & ".txt", 2, True)
Textfile.Write xText
Textfile.Close
Set FSO = Nothing
Set Textfile = Nothing
Next
Application.DisplayAlerts = True
End Sub
No.2
- 回答日時:
txtファイル書出し版
Option Explicit
Sub Ottotto()
Const xPath0 = "C:\Users\user\Desktop\test\"
Const xExtent = ".txt"
Dim xSheet As Worksheet
Dim xPath As String
Dim xName As String
Dim xText As String
Dim xFF02 As Integer
Dim xREC As String
Dim nn As Integer
Application.DisplayAlerts = False
Set xSheet = ActiveSheet
For nn = 1 To xSheet.Range("A" & Rows.Count).End(xlUp).Row
xName = xSheet.Cells(nn, "B").Value
xText = xSheet.Cells(nn, "C").Value
xPath = (xPath0 & xSheet.Cells(nn, "A").Value & "\")
If (Dir(xPath, vbDirectory) = vbNullString) Then
MkDir xPath
End If
ChDrive (Left(xPath, 1))
ChDir (xPath)
xFF02 = FreeFile()
Open (xPath & xName & xExtent) For Output As #xFF02
Print #xFF02, xText
Close
Next
Application.DisplayAlerts = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) 3個のfileのセルデータを1個のfileのセルに貼り付けるVBAコードですが。 1 2023/02/20 09:21
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい【ブック1からブック2へ】 9 2023/08/10 07:51
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの途中行から...
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
Eclipseのコード入力時の、行コ...
-
svnでファイル移動すると履歴が...
-
彼女の過去の恋愛に嫉妬してし...
-
OneDrive必要なものでしょうか
-
vb2010 ビルド後のexeコピーに...
-
デスクトップ画面に「◯◯まであ...
-
Excelのマクロについて教えてく...
-
CSVファイルの特定行の削除
-
EXCELVBAにて文字列にして「01...
-
Subversionで日本語ファイル名...
-
DataTableに入っているデータを...
-
エクセルのマクロについて教え...
-
複数のExcelファイルにある同名...
-
Eclipseでコピーするとき行数な...
-
vbsからのExcelマクロ呼び出し...
-
ROBOCOPYをスペース付きのフォ...
-
【再質問】Eclipseのコード入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの途中行から...
-
vbsで最後の行を削除する
-
c#でcsvファイルをリソースとし...
-
デスクトップ画面に「◯◯まであ...
-
svnでファイル移動すると履歴が...
-
CSVファイルの特定行の削除
-
Access VBAから使用したExcelプ...
-
エクセルのマクロについて教え...
-
vbsからのExcelマクロ呼び出し...
-
OneDrive必要なものでしょうか
-
TortoiseSVNにおける削除ファイ...
-
iCloud for Windowsをアンイン...
-
DataTableに入っているデータを...
-
Subversionで日本語ファイル名...
-
TortoiseSVNでリポジトリURLの...
-
Eclipseのコード入力時の、行コ...
-
Excel: ファイル名になぜ、[...
-
C++言語で、構造体のコピーは可...
-
プログラムについて。
-
EXCELVBAにて文字列にして「01...
おすすめ情報