17. juli 2003 - 11:10Der er
14 kommentarer og 1 løsning
Gemme .xlt fil som .xls
Jeg har overført nogle data fra en access database til en Excel-skabelon, som jeg ønsker at gemme som en .xls fil, så skabelonen ikke bliver ændret, selvfølgelig. Men når jeg overfører data vha. VBA, vil regnearket som standard foreslå at gemme i selve skabelonen, når brugeren klikker på Luk. Kan jeg i VBA oprette en .xls fil på baggrund af data fra Access, med skabelonen som "filter"?
Hvad med ganske enkelt når du vælger "Filer > Gem Som" at vælge Filtype som "Microsoft Excel-projektmappe"? Det synes at være løsningen på dit problem.
Er der ikke en tendens til, at selv de mindste problemer absolut skal løses ved hjælp af VBA? Jeg synes, at det i mange tilfælde er at gå over åen efter vand.
Intet opstød, blot en kommentár.
bak Når jeg engang har et passende komplekst problem, vil jeg spørge dig om noget VBA, som jeg ikke selv er skrap til.
bak Du har selvfølgelig ret, men jeg tolkedes spørgsmålet "i min retning" og tror at den sidste bemærkning skyldes "VBA-syndromet" Vi får se når spørgeren reagerer.
Well, sagen er den at når jeg overfører data fra Accessformularen, sker der vha. VBA og data lægges så ind i templaten, i stedet for et nyt regneark BASERET på templaten. (om man så kan lave det som en makro i stedet for i VBA, det ved jeg ikke, brugeren skal SELV have mulighed for at gemme som den første, dvs. programmet skal IKKE selv gemme det nyoprettede regneark, kun foreslå et navn a la worksheet1.xls)
hmmm....og alligevel ikke, så lad mig spørge på en anden måde: Hvordan kan man oprette et nyt regneark fra VBA ved brug af en på forhånd defineret template (.xlt)? Altså a la når man på skrivebordet højre-klikker og vælge Ny -> Microsoft Excel-regneark.
Der findes ikke en normal.xls i excel, Hvis du vil lave en ny fil på baggrund af en anden template så test det her. Du ærdrer bare sti og navn til Skabelon.
Sub Macro2() Dim Filnavn As String Dim Skabelon As String Dim wb As Workbook Skabelon = "C:\Documents and Settings\xxx\Application Data\Microsoft\Templates\testskabelon.xlt" Set wb = Workbooks.Add(template:=Skabelon) Filnavn = Application.GetSaveAsFilename("Workbook1.xls") If Not Filnavn = "False" Then wb.SaveAs Filnavn End Sub
Bare en kommentar - jeg har en skabelon .xlt med en Pivotabel og den opdaterer på forspørgsel de data specificeret i en Access Query. Måske var det en alternativ løsning. Dataene bliver trukket over via et SQL kald som er defineret i Pivotabellen. Bare en alternativ løsning som så vidt jeg kan se det løser mange af de ønsker du skriver om.
Takker for de mange forslag, resultatet var at lave det som en .xls fil og skrivebeskytte den, det opfylder vores krav. Lukker spørgsmålet igen.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.