20. november 2005 - 16:26Der er
6 kommentarer og 1 løsning
Gem som
Kan man med VBA i excel, få den til at foreslå et filnavn f.eks. fakturanr(fra en celle)_kundenavn(fra en anden celle). Hvis ja, hvor skal koden skrives en et modul eller hvor???
Public Sub GemSom() navn = Application.GetSaveAsFilename(Worksheets("Ark1").Range("A1").Value, "Excel Files (*.Xls), *.Xls") If Not navn = "False" Then ThisWorkbook.SaveAs navn Else MsgBox "Mappen er ikke gemt som " & Worksheets("Ark1").Range("A1").Value & ".Xls" End If End Sub
her tager den værdien i Worksheets("Ark1").Range("A1").Value
Den virker som macro, men det jeg godt kunne tænke mig er når jeg går op i menuen "filer" og vælger gem som, så kommer der en dialogboks frem og der foreslå den allerede et navn f.eks, faktura1.xls, da den kommer far en skabelon der hedder faktura. Der skal den foreslå min f.eks. 100003_kurtkarlsen.xls
Man kan ikke styre imellem de 2 måder at gemme på, gemsom vil komme altid, men annuleres den , kommer den og spørger om man vil gemme normal.
Koden skal i ThisWorkbook modulet.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.EnableEvents = False navn = Application.GetSaveAsFilename(Worksheets("Ark1").Range("A1").Value, "Excel Files (*.Xls), *.Xls") If Not navn = "False" Then ThisWorkbook.SaveAs navn Else svar = MsgBox("Mappen er ikke gemt som " & Worksheets("Ark1").Range("A1").Value & ".Xls" & vbCrLf & _ "Vil du gemme normalt i stedet", vbYesNo) If svar = vbYes Then ThisWorkbook.Save End If Application.EnableEvents = True Cancel = True End Sub
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.