- ベストアンサー
新規テキストファイルの作成方法と保存先の指定方法は?
- 新規テキストファイルを作成して日付名で保存したい。
- 新規でテキストファイルを作成して、日付名で保存をしようとしたのですが、ファイル名が不正とのエラーが出ます。どうすればいいか、教えて頂けませんでしょうか。
- 保存先の指定方法も分かりません。保存先の指定方法もあわせて教えて頂けませんでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ファイル名が不正とのエラーが出ます。 どの様なファイ名が得られたのか自分で確認できないのですか? IMA = Now & ".txt" MsgBox IMA '→ 2013/09/16 18:35:05.txt "/"は、ファイル名に使用できません。 >保存先の指定方法も分かりません Dim myPath As String myPath = "C:\○△□\" デスクトップに保存なら myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" IMA = Format(Now, "yyyy.mm.dd") & ".txt" Worksheets("内容").Activate myLastRow = Range("A1").CurrentRegion.Rows.Count myFileNo = FreeFile Open myPath & IMA For Output As myFileNo For i = 1 To myLastRow Write #myFileNo, Cells(i, 3) Next i Close #myFileNo
その他の回答 (2)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
添付図は、テキストファイルの書き出しと読み込みのテストです。ファイル名に日付を指定した場合、FileWrite関数は True ではなく False を戻しています。つまりは、書き込みに失敗したということです。理由は、ファイル名が規則に則っていないからです。そこで、Replace関数でファイル名を正規表現に訂正。結果、ライト アンド リードに成功しています。 先ずは、以下のFileWrite()とFileRead()を標準モジュールに登録して、書き出しと読み込みを[イミディエイトウインドウ]でテストされると、冒頭の説明を確認できます。なお、FileWrite関数を利用するには、参照設定が必要です。 レ Microsoft Scripting Runtime Public Function FileWrite(ByVal FileName As String, _ ByVal Text As String) As Boolean On Error GoTo Err_FileWrite Dim fso As FileSystemObject Dim txs As TextStream Set fso = New FileSystemObject Set txs = fso.CreateTextFile(FileName, True) txs.Write Text FileWrite = True Exit_FileWrite: Exit Function Err_FileWrite: MsgBox Err.Description & "(FileWrite)", vbExclamation, " 関数エラーメッセージ" Resume Exit_FileWrite End Function Public Function FileRaed(ByVal FileName As String) As String On Error GoTo Err_FileRead Dim L As Integer Dim fso As FileSystemObject Dim fil As File Dim txs As TextStream Dim strText As String Set fso = New FileSystemObject Set fil = fso.GetFile(FileName) Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault) strText = txs.ReadAll FileRaed = Left(strText, Len(strText)) Exit_FileRead: Exit Function Err_FileRead: MsgBox Err.Description & "(FileRead)", vbExclamation, " 関数エラーメッセージ" Resume Exit_FileRead End Function
お礼
f_a_007様 ありがとうございます。 レ Microsoft Scripting Runtime 設定で 確認出来る事を、教えて頂きましてありがとうございます。 とても、勉強になりました。 本当に、ありがとうございました。
- maiko0318
- ベストアンサー率21% (1483/6969)
excelのようですけど、.txtで保存する指定はされていますか? 単に.txtとしか指定していないならば.xlsで保存して欲しいのかもわかりません。
補足
maiko0318様 早速のご回答ありがとうございます。 >excelのようですけど、.txtで保存する指定はされていますか? すみません、これをどの様にするか分からないのですが。 少し、考えてみます。
お礼
watabe007様 ありがとうございます。 >どの様なファイ名が得られたのか自分で確認できないのですか? すみません、安易に質問しました。 ご回答頂いたおかげで、解決をする事が出来ました。 本当にありがとうございます。