Avatar billede fobian Nybegynder
14. marts 2003 - 11:54 Der er 10 kommentarer og
1 løsning

Excel-sheet i form

Hej Eksperter

Jeg har behov for at kunne vise en rapport i en VB form.
Jeg har prøvet med en listbox, men mulighederne for formatering er ikke de bedste.
Jeg har derfor prøvet at gå ind i komponenter og tilføjet "Microsoft Excel-regneark" og derefter indsat et sheet på min form. Her kan jeg så ikke komme videre. Hvordan kan jeg komme til at redigere i indholdet af sheet'et via VB kode?
Eller er der nogen som har en bedre idé til præsentation af rapporter på en form.

/Fobian
Avatar billede martin_moth Mester
14. marts 2003 - 12:51 #1
2 sek.
Avatar billede martin_moth Mester
14. marts 2003 - 12:53 #2
Prøv at kikke her - der er omtalt 2 forskellige metoder: http://www.eksperten.dk/spm/321012
Avatar billede fobian Nybegynder
14. marts 2003 - 14:58 #3
Jeg har godt kigget på det svar du henviser til, men jeg vil helst undgå, at have en excel fil.

Er det ikke muligt at skrive direkte til excel.sheet'et på en form uden at have en fil med i billedet.
Avatar billede brobaek Nybegynder
15. marts 2003 - 13:13 #4
Ellers brug en Hierachical FlexGrid.
Avatar billede bak Forsker
15. marts 2003 - 13:46 #5
Det er muligt, hvis du vil bruge OWC (Office-web-components).
Dette betyder dog at både dig og brugere skal have office 2000 eller højere.
hvis du er interesseret, kan så sig til.
Avatar billede fobian Nybegynder
16. marts 2003 - 12:20 #6
Det lyder ellers, som noget jeg kunne anvende. Men desværre er der kun Office 97 hos brugerne :-(

Jeg afventer og ser om der dukker andre forslag op :-)
Avatar billede martin_moth Mester
16. marts 2003 - 17:19 #7
Hvorfor vil du ikke have en excelfil med? Det er da bare at lægge et tomt Excel-regneark med når du installere - det fylder (næsten) ingenting... Jeg kan ikke se nogle ulemper
Avatar billede fobian Nybegynder
17. marts 2003 - 00:29 #8
Jeg har prøvet at lege med de eksempler, som martin henviste til i et tidligere svar. Jeg kan godt komme til at skrive til min Excel fil (command1_Click) og første gang jeg klikker på command2 vises min fil i OLE1.
De efterfølgende gange kommer der en fejlmeddelelse: "Run-time error '336' Component not correctly registered."
Jeg ved ikke om det er fordi at linket allerede kører i baggrunden og skal sættes til "nothing" eller hvad der skal til for at det virker hver gang jeg klikker på Command2.

Min kode er her:

Private Sub Command1_Click()
Dim ex As Excel.Application
Dim work As Excel.Workbook

Set ex = New Excel.Application
Set work = ex.Workbooks.Open("c:\temp\test.xls")
work.Worksheets("ark1").Range("a1").Value = "hej"

work.Save
ex.Workbooks.Close
ex.Application.Quit

Set work = Nothing
Set ex = Nothing
End Sub

Private Sub Command2_Click()
OLE1.CreateLink "c:\temp\test.xls", "r1c1:r8c2"
End Sub

Private Sub Form_Load()
OLE1.OLEDropAllowed = False
OLE1.OLETypeAllowed = 0
End Sub

/fobian
Avatar billede fobian Nybegynder
17. marts 2003 - 00:47 #9
Jeg tror, at jeg selv har løst problemet med en OLE1.close. Jeg fandt ud af at den fejlmeddelelse kom fordi jeg prøvede at åbne test.xls flere gange selv om den var åben i forvejen. Ole1.close lukker linket til filen, så jeg kan komme til at redigere og derefter vise den igen :-)

Private Sub Command2_Click()
OLE1.CreateLink "c:\temp\test.xls", "r1c1:r8c2"
OLE1.Close
End Sub

Jeg vil prøve at arbejde videre med denne løsning, men jeg vil lige holde spørgsmålet åbent lidt endnu for at se om der dukker andre idéer op.
Avatar billede fobian Nybegynder
01. maj 2003 - 09:19 #10
Der var desværre ikke så mange alternativer at vælge mellem, så jeg har anvendt martins forslag med en Excel-fil. Tak til martin :-)
Avatar billede martin_moth Mester
01. maj 2003 - 09:37 #11
Åhrrr, ved du hvad, det var nu så lidt ;o)
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
Kurser inden for grundlæggende programmering

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