anoniem Geplaatst: 1 maart 2007 Delen Geplaatst: 1 maart 2007 Ik heb in MS Excel een macro gemaakt die ervoor zorgt dat de inhoud van range (voorgedefinieerde) cellen in een txt-bestand gezet worden. Via de optie DestFile heb ik aangeven waar het txt-bestand neergezet wordt en onder welke naam. Het probleem is dat je DestFile een standaard bestandsnaam bevat die Excel elke keer gebruikt. Wat ik zou willen is dat Excel de bestandsnaam zelf genereert o.b.v. de waarde in een bepaalde cel. Dus zodra je de inhoud van de range wijzigt en de macro start, dat er dan telkens een ander txt-bestand aangemaakt wordt. De visual basic code van de macro is als volgt: [color=green:1f24b5d2ee]Sub Macro6() ' ' Macro6 Macro ' Macro recorded 01-03-2007 by D ' ' Obtain next free file handle number. FileNum = FreeFile DestFile = "C:\test.txt" ' Turn error checking off. On Error Resume Next ' Attempt to open destination file for output. Open DestFile For Output As #FileNum ' If an error occurs report it and end. If Err <> 0 Then MsgBox "Cannot open filename " & DestFile End End If ' Turn error checking on. On Error GoTo 0 ' Loop for each row in selection. For RowCount = 1 To Selection.Rows.Count ' Loop for each column in selection. For ColumnCount = 1 To Selection.Columns.Count ' Write current cell's text to file with quotation marks. Print #FileNum, Selection.Cells(RowCount, _ ColumnCount).Text; ' Check if cell is in last column. If ColumnCount = Selection.Columns.Count Then ' If so, then write a blank line. Print #FileNum, Else ' Otherwise, write a comma. Print #FileNum, ","; End If ' Start next iteration of ColumnCount loop. Next ColumnCount ' Start next iteration of RowCount loop. Next RowCount ' Close destination file. Close #FileNum End Sub[/color:1f24b5d2ee] Het gaat dus om het stukje DestFile = "C:\test.txt" waarbij ik de bestandsnaam wil laten bepalen door de inhoud van een bepaalde cel (C2) Wie kan mij helpen? Quote Link naar reactie
anoniem Geplaatst: 1 maart 2007 Auteur Delen Geplaatst: 1 maart 2007 [quote:1250204784="melkweg"] Het gaat dus om het stukje DestFile = "C:\test.txt" waarbij ik de bestandsnaam wil laten bepalen door de inhoud van een bepaalde cel (C2) Wie kan mij helpen?[/quote:1250204784] Wat dacht je van [code:1:1250204784]DestFile = Range("C2").Value[/code:1:1250204784] Of, als de waarde van C2 alleen een naam is[code:1:1250204784]DestFile = Range("C2").Value & ".txt"[/code:1:1250204784] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen