• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを使って名前をつけて保存をしたい(3))

VBAを使って名前をつけて保存する方法

このQ&Aのポイント
  • VBAを使用して名前をつけて保存する方法について教えていただきました。保存先は指定したフォルダで、ファイル名は本日の日付と連番で作成されます。
  • また、指定したフォルダに保存する際、日付が変わった場合でも連番を最初からカウントするようにしたいとのことです。
  • 具体的な変更方法について、アドバイスをいただけると助かります。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

日付を追加しました。 「連番.dat」ファイルを削除して最初の状態で試してみてください。 Sub 名前を付けて保存()   Dim wSeq  As String   Dim wStr  As String   Dim Flnm  As String   Dim wFlnm  As String   Dim sI   As Integer   Dim eI   As Integer   Dim wDir  As String   Dim ER   As Boolean   Dim xDate  As String   '   Sheets("データー").Select   Range("C3").Select   ActiveWorkbook.Save     wDir = "\\Jooo\センタ\AA\CC\"   Flnm = wDir & Format(Date, "【mmdd】") & ".xls"   wFlnm = Flnm   If Flnm = "False" Then     Exit Sub   End If   '   xDate = Format(Date, "mmdd")      wSeq = 0   wSeq = Get_Seq(xDate, wDir, ER)   If ER Then     wStr = ""   Else     wStr = "(" & wSeq & ")"   End If   Flnm = Left(wFlnm, Len(wFlnm) - 4) & wStr & ".xls"   ActiveWorkbook.SaveAs Filename:=Flnm   Call Put_Seq(xDate, wDir, wSeq) End Sub '連番取得 Function Get_Seq(xDate As String, wDir As String, ER As Boolean) As Integer   Dim n As Long   Dim wDate As String   Dim Seq As Integer   '   ER = False   Seq = 0   On Error GoTo ExitER   n = FreeFile   Open wDir & "連番.dat" For Input As #n   Input #n, wDate, Seq   Close #n   If wDate = xDate Then     Get_Seq = Seq + 1   Else     Get_Seq = 1   End If   Exit Function ExitER:   ER = True   Seq = 1   On Error GoTo 0 End Function '連番保存 Function Put_Seq(xDate As String, wDir As String, wSeq As String)   Dim n As Long   n = FreeFile   Open wDir & "連番.dat" For Output As #n   Print #n, xDate & "," & wSeq   Close #n End Function

masa1717
質問者

お礼

今日やってみて上手くいきました。何度もありがとうごさいます。