• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:新規テキストファイルを作成して日付名で保存したい。)

新規テキストファイルの作成方法と保存先の指定方法は?

このQ&Aのポイント
  • 新規テキストファイルを作成して日付名で保存したい。
  • 新規でテキストファイルを作成して、日付名で保存をしようとしたのですが、ファイル名が不正とのエラーが出ます。どうすればいいか、教えて頂けませんでしょうか。
  • 保存先の指定方法も分かりません。保存先の指定方法もあわせて教えて頂けませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>ファイル名が不正とのエラーが出ます。 どの様なファイ名が得られたのか自分で確認できないのですか? 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

sabiro
質問者

お礼

watabe007様 ありがとうございます。 >どの様なファイ名が得られたのか自分で確認できないのですか? すみません、安易に質問しました。 ご回答頂いたおかげで、解決をする事が出来ました。 本当にありがとうございます。

その他の回答 (2)

回答No.3

添付図は、テキストファイルの書き出しと読み込みのテストです。ファイル名に日付を指定した場合、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

sabiro
質問者

お礼

f_a_007様 ありがとうございます。 レ Microsoft Scripting Runtime 設定で 確認出来る事を、教えて頂きましてありがとうございます。 とても、勉強になりました。 本当に、ありがとうございました。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

excelのようですけど、.txtで保存する指定はされていますか? 単に.txtとしか指定していないならば.xlsで保存して欲しいのかもわかりません。

sabiro
質問者

補足

maiko0318様 早速のご回答ありがとうございます。 >excelのようですけど、.txtで保存する指定はされていますか? すみません、これをどの様にするか分からないのですが。 少し、考えてみます。