Avatar billede hugopedersen Nybegynder
21. oktober 2008 - 12:25 Der er 10 kommentarer og
2 løsninger

Exportere til Excel med template

Jeg har en forespørgsel som jeg exporterer til et Excel regneark uden problemer, men nu er der nogen der er kommet i tanke om at det kunne være smart hvis de kalkulationer der efterfølgende skal laves allerede ligger i arket når det er blevet exporteret. Altså en eller anden form for template eller noget der indeholder beregningerne og som exporten så flettes sammen med.
Jeg ved godt at jeg kan lave et ark og så åbne en kopi og så loope mig gennem en insert i forskellige felter, men det andet ville være smartere synes jeg.
Avatar billede Slettet bruger
21. oktober 2008 - 12:35 #1
du kan godt linke til et excel ark..
Avatar billede hugopedersen Nybegynder
21. oktober 2008 - 12:51 #2
Ja det er jeg helt med på, men jeg skal exportere nogle omsætningstal til videre behandling og da var det smart om man kunne template et og andet.
Avatar billede Slettet bruger
21. oktober 2008 - 13:49 #3
har du prøvet at lave en rapport og så eksportere til excel..

for en ting, som jeg ofte bruger på mine printpreviews af mine rapporter, er at lave en custom print værktøjslinie som indeholder eksporter til word/excel, det virker som regel!~)
Avatar billede hugopedersen Nybegynder
21. oktober 2008 - 14:06 #4
Jeg har allerede en export der virker - jeg vil bare have noget mere funktionalitet.
Avatar billede Slettet bruger
21. oktober 2008 - 14:21 #5
!~)
Avatar billede jesperfjoelner Nybegynder
22. oktober 2008 - 15:06 #6
Du kan godt linke til et eksisterende Excelark, som i forvejen indeholder nogle beregnende felter.
Kan du evt. vise os første del af din kode, hvor du åbner excel?

Jeg skal poste et eksempel ellers.
Avatar billede hugopedersen Nybegynder
23. oktober 2008 - 07:02 #7
Koden er der ikke noget særligt hokus pokus i.
Jeg klargør data - har pt. ca. 1.800.000 records at vælge i blandt. Og så laver jeg et filnavn og eksporterer min query til det navn.

'Prepare data for printing / export
  fhpPrepare_Data

  strFile_Name = fhpSetup_Path_Export & Format(Nz(Me.cboYear, 2008), "0000") & "_weekly_income.xls"
  DoCmd.OutputTo acOutputQuery, conQuery_Export_Weekly_Income_XLS, acFormatXLS, strFile_Name
   
  strMessage = "Data gemt som: " & vbCrLf & strFile_Name & vbCrLf & vbCrLf & _
              "Ønsker du at åbne filen for at se indholdet?"
             
  If MsgBox(strMessage, vbInformation + vbYesNo, "Data gemt") = vbYes Then
    fhpFile_Open strFile_Name
  End If
 
  strMessage = "Data gemt som: " & vbCrLf & strFile_Name & vbCrLf & vbCrLf & _
              "Ønsker du at sende filen til valgte modtagere?"
             
  If MsgBox(strMessage, vbInformation + vbYesNo, "Sende data") = vbYes Then
    shp_Send_Excel
  End If
Avatar billede jesperfjoelner Nybegynder
23. oktober 2008 - 18:21 #8
Det er en anden mere kompleks metode, men som giver muligheder for at indsætte mere præcist i excel, på forskellige ark osv.
Der åbnes en Excelskabelon som jo så kan indeholde foruddefinerede sumfelter, grafer og alt det andet Excel kan.





Dim sSkabelon as as string
Dim objExcelApp As Object              'late binding
Dim objExcelDoc As Object              'late binding
'Dim objExcelApp As Excel.Application  'early binding
'Dim objExcelDoc As Excel.Workbook      'early binding

sSkabelon = "navnpådinExcelSkabelon"

Set objExcelApp = CreateObject("excel.application") 'late binding
'Set objExcelApp = New Excel.Application 'early binding

'Åbner skabelon (bruger .add i stedet for .open, da skabelonen så ikke overskrives)
'antager at skabelon ligger i samme mappe som databasen
Set objExcelDoc = objExcelApp.Workbooks.Add(Application.CurrentProject.Path & "\" & sSkabelon & "") 'late binding

objExcelApp.Visible = True 'kan flyttes til sidst hvis excel først skal vises når alt er indsat

With objExcelDoc.Sheets(1)
.Range("A1").Value = 1
.Range("A2").Value = 2
.Range("A3").Value = 3
End with

'rydder op
Set objExcelDoc = Nothing
Set objExcelApp = Nothing
Avatar billede jesperfjoelner Nybegynder
23. oktober 2008 - 18:22 #9
Det virker uden at have en reference til Excel-object-library under Tools > References.

Hvis man bruger koden ved "Early binding" får man adgang til Excel intellisense, men så må referencen sættes i Tools > References.

Late binding sikrer at det virker på maskiner med forskellige versioner af excel osv.
Avatar billede hugopedersen Nybegynder
24. oktober 2008 - 06:56 #10
Det er samme måde jeg tidligere har gjort det på.

Jeg lader lige spørgsmålet svæve i luften for at se om der ikke skulle være andre muligheder.
(Jeg bruger Access/Excel 2007 hvis det skulle gøre nogen forskel)
Avatar billede hugopedersen Nybegynder
06. november 2008 - 11:00 #11
Jeg vil godt give lidt for at blive mindet om hvad jeg tidligere har lavet med held :-)
Avatar billede jesperfjoelner Nybegynder
06. november 2008 - 11:42 #12
Ok mange tak, held og lykke med det.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester