29. januar 2004 - 09:59Der er
5 kommentarer og 1 løsning
lægge et tal til filnavnet
Hej. Jeg har en gem-knap der ser sådan her ud:
Sub saveundone_Click()
Dim sti As String, Navn As String
If Range("C9").Value = "" And Range("navn").Value = "" Then MsgBox "Du mangler at indtaste dit navn og data", vbCritical Exit Sub End If
If Range("navn").Value = "" Then MsgBox "du har ikke indtastet dit navn!", vbCritical Exit Sub End If
If Range("C9").Value = "" Then MsgBox "du har ikke indtastet data", vbCritical Exit Sub End If
sti = "c:\timeregistrering\" & Range("init").Value & "\" Navn = Range("init").Value & " " & Range("uge").Value
If Dir("c:\timeregistrering", vbDirectory) = "" Then MkDir "c:\timeregistrering\" If Dir(sti, vbDirectory) = "" Then MkDir sti
Sheets("Timer").Select Range("B9:bund").Select Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) 'indsætter et nyt ark og lader programmet tælle nummeret på arket Sheets(Sheets.Count).Select Range("A1").Select ActiveSheet.Paste ' indsætter det kopierede materiale fra Det originale ark Application.CutCopyMode = False Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete 'sletter det oprettede ark og lukker Microsoft Excel Range("B8").Select
enabletoolbars layout2 Application.quit
End Sub
---------------------------------------
Jeg vil gerne have lavet det sådan, så hvis filen findes i forvejen, skal den ikke overskrives som den gør nu, men der skal lægges et tal til filnavnet, så første gang man gemmer hedder filen bare eks.: CCH 34.txt Næste gang skal den så hedde "CCH 34 2.txt" Hvis den så findes næste gang skal næste fil hedde "CCH 34 3.txt"
har prøvet at lege lidt med Application.FileSearch, men kan ikke helt få det til at hænge sammen med den simple operation at lægge et tal til..
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Public Sub shpTest_SaveFile() ' ----------------------------------------------------------------------------------- ' Purpose : ' Parameters : ' Created : 01-29-04 ' Modified : ' Remarks : ' ----------------------------------------------------------------------------------- On Error GoTo Error_shpTest_SaveFile Dim sti As String, Navn As String Dim strFileName As String Dim intX As Integer Dim bolFound As Boolean
If Range("C9").Value = "" And Range("D9").Value = "" Then MsgBox "Du mangler at indtaste dit navn og data", vbCritical Exit Sub End If
If Range("D9").Value = "" Then MsgBox "du har ikke indtastet dit navn!", vbCritical Exit Sub End If
If Range("C9").Value = "" Then MsgBox "du har ikke indtastet data", vbCritical Exit Sub End If
sti = "c:\timeregistrering\" & Range("D9").Value & "\" Navn = Range("D9").Value & "_" & Range("E9").Value
If Dir("c:\timeregistrering", vbDirectory) = "" Then MkDir "c:\timeregistrering\" If Dir(sti, vbDirectory) = "" Then MkDir sti
bolFound = True intX = 1 strFileName = Navn & "_" & intX & ".txt" Do While bolFound = True With Application.FileSearch .NewSearch .LookIn = sti .SearchSubFolders = False .Filename = strFileName .MatchTextExactly = False .Execute If .FoundFiles.Count > 0 Then intX = intX + 1 strFileName = Navn & "_" & intX & ".txt" Else bolFound = False End If End With Loop Debug.Print strFileName
Sheets("Timer").Select Range("B9:B20").Select Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) 'indsætter et nyt ark og lader programmet tælle nummeret på arket Sheets(Sheets.Count).Select Range("A1").Select ActiveSheet.Paste ' indsætter det kopierede materiale fra Det originale ark Application.CutCopyMode = False Application.DisplayAlerts = False ActiveSheet.SaveAs Filename:=sti & strFileName
' , FileFormat:=xlText
MsgBox sti & strFileName
Sheets("Timer").Select
Sheets(Sheets.Count).Delete 'sletter det oprettede ark og lukker Microsoft Excel Range("B8").Select
Exit_shpTest_SaveFile: Exit Sub
Error_shpTest_SaveFile: Select Case Err.Number Case 2501 Case 3021 Case Is < 0 Case Else MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'shpTest_SaveFile'" End Select Resume Exit_shpTest_SaveFile
Sheets("Timer").Select Range("B9:bund").Select Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) 'indsætter et nyt ark og lader programmet tælle nummeret på arket Sheets(Sheets.Count).Select Range("A1").Select ActiveSheet.Paste ' indsætter det kopierede materiale fra Det originale ark Application.CutCopyMode = False Application.DisplayAlerts = False
nr = "" i = 0 Do Fundet = (Dir(sti & Navn & nr & ".txt")) Snavn = Navn & nr & ".txt" If Fundet <> Snavn Then ' tjekker om den eksisterer Exit Do End If i = i + 1 nr = " " & i Loop
ActiveSheet.SaveAs Filename:=sti & Navn & nr, FileFormat:=xlText
Sheets("Timer").Select
Sheets(Sheets.Count).Delete 'sletter det oprettede ark og lukker Microsoft Excel Range("B8").Select
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.