/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Makro i Excel. Gemt filnavn...
Fra : Tobster
Vist : 865 gange
50 point
Dato : 02-05-07 13:19

Jeg har en makro som jeg gerne vil have lidt hjælp til. Jeg har en excel-fil som jeg vil have gemt, men navnet på den gemte fil skal være afhængig af kildefilen. Dvs. den gemste fil skal hedde det samme som kildefilen.

Hvad skal jeg skrive i stedet for:
Kode
"F:\SERVICESALG\Tilbudsplatform\Quotations - test.xls"


Kode
Sub Makro2()
'
' Makro2 Makro
' Makro indspillet 02-05-2007 af -
'
' Genvejstast:Ctrl+r
'
ActiveWorkbook.SaveAs Filename:= _
"F:\SERVICESALG\Tilbudsplatform\Quotations - test.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub


 
 
Kommentar
Fra : berpox


Dato : 02-05-07 14:19

??? Der er liiige noget jeg ikke forstår dér.

Hvis du allerede har åbnet filen (altså kildefilen), så skal du jo blot gemme filen oveni, altså et helt almindeligt "Gem" med genvejstast CTRL+S

Hvis det er fordi du vil gemme filen i et andet (men forudbestemt bibliotek), hvor filen IKKE eksisterer i forvejen, så skal du blot have tilføjet filnavnet til din sti.

Så kan koden se således ud:
Kode
Option Explicit

Sub SaveTilbud()
Dim fname, fpath As String
fname = ActiveWorkbook.Name
'fpath = "F:\SERVICESALG\Tilbudsplatform\"
fpath = "C:\"

ActiveWorkbook.SaveAs Filename:=fpath & fname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub


- du vil stadig blive spurgt hvis filen eksisterer i forvejen, hvis du afvikler makroen....





Kommentar
Fra : Tobster


Dato : 02-05-07 14:24

Der er tale om en grundfil, som bliver sendt ud til flere personer.
Disse personer gemmer så filen lokalt. Eks.: "Quotations - Søren Nielsen.xls"

De skal så kunne rapportere filen til et fællesdrev - alle sammen i samme mappe, men med hvert sit kildenavn.

Hvis jeg bruger den kode jeg har beskrevet ovenfor, vil den kande Sørens fil for "Quotations - test.xls"

Det er okay at blive spurgt om filen skal overskrives.

Kommentar
Fra : berpox


Dato : 02-05-07 15:55

OK - du vil altså flette et brugernavn sammen med filnavnet....

Kode
Option Explicit

Sub SaveTilbud()
Dim fname, fpath, pname As String
pname = Application.UserName
fname = ActiveWorkbook.Name
'fpath = "F:\SERVICESALG\Tilbudsplatform\"
fpath = "C:\"

ActiveWorkbook.SaveAs Filename:=fpath & fname & " - " & pname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub


Dvs. hvis filen hedder: "Quotation.xls" og brugeren der åbner filen hedder Hans C. Andersen, så gemmes filen ved makroafvikling som "Quotation - Hans. C. Andersen.xls"

Navnet er det brugernavn der er registreret i brugerens Officepakke (Excel).



Kommentar
Fra : Tobster


Dato : 03-05-07 16:58

He he... Nej ikke helt... Men nogen derhen ad...

1. Grundfilen "Quotations.xls" sendes til en sælger.
2. Sælgeren gemmer den på sin PC og tilføjer sit navn bagefter: "Quotations - Søren Nielsen.xls"

Så på den måde skal den jo bare via makro gemme filen i det samme filnavn som den har i forvejen.

Kommentar
Fra : Tobster


Dato : 03-05-07 17:19

Ok, jeg fik det til at virke med følgende kode:

Kode
Sub Rapportér()
Dim fname, fpath, pname As String
pname = Application.UserName
fname = ActiveWorkbook.Name
fpath = "F:\Servicesalg\Tilbudsplatform\"

ActiveWorkbook.SaveAs Filename:=fpath & fname, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False


Det eneste problem er nu, at sælgeren så befinder sig og arbejder i den fil der er kopieret til serveren.

Accepteret svar
Fra : berpox

Modtaget 50 point
Dato : 03-05-07 18:43

Din kode mangler da pname.....

Linien med ActiveWorkbook.SaveAs skal da se således ud:
Kode
ActiveWorkbook.SaveAs Filename:=fpath & fname & " - " & pname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


- ellers gemmes filen IKKE som:
"F:\Servicesalg\Tilbudsplatform\Quotation - Hans C. Andersen.xls"

men kun som
"F:\Servicesalg\Tilbudsplatform\Quotation.xls"

Men rigtigt - sælgeren vil fremover arbejde med den fil sælgeren har gemt i folderen
"F:\Servicesalg\Tilbudsplatform\"

Men det var jo sådanset også det du bad om

Kommentar
Fra : berpox


Dato : 03-05-07 20:49

....ellers er det jo blot at rette i stien (fpath), så den ikke peger på serveren.....men på brugerens lokale harddisk.



Kommentar
Fra : berpox


Dato : 07-05-07 21:52

Halloooo Tobster

Har du helt styr på koden, eller er der noget der skal tipasses yderligere ?

Kommentar
Fra : Tobster


Dato : 07-05-07 22:30

He he.... har nok lige et par spm mere om kort tid...

Det er noget jeg laver på/for arbejdet, og har haft møde i dag - håber jeg får tid til at se på det i morgen.

Godkendelse af svar
Fra : Tobster


Dato : 22-05-07 14:29

Tak for svaret berpox.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste