22. januar 2007 - 12:45Der er
4 kommentarer og 1 løsning
Flyt programkode fra Access til Excel samt lave en KommandoKnap.
Hvordan flyttes programkode fra Access til Excel (lavet i Excel) samt lave en KommandoKnap, efter ”DoCmd.RunCommando acCmdOutPutToExcel” har flyttet tabellen (virker). Programkoden er programmeret i Excel og kopieret til et ”Module” i Access. Programkoden indeholder opsætning af overskrifter, dato, side af side og kommandoknap mm. KommandoKnappen skal starter det der står i linien her over(Programkode).
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det vil under alle omstændigheder kræve at du har "Microsoft Visual Basic For Applications Extensibility" tilføjet som reference, for så kan du styr Visual Basic Editor igennem kode.
Jeg har ikke så meget tide lige nu. Kigger ind igen i aften. ;-)
Jeg gætter på at du har vendt problemstillingen i overkriften. Du mener formodentlig "flyt fra Excel til Access". Du skriver jo, at du har programmeret koden i Excel. Når du har indsat koden i Access, spiller det ikke. Det er fordi koden skal afvikles i Excel eller i et Excel objekt. Derfor definerer du et Excel objekt i Access koden "rundt om" din Excel kode. Derefter skal du huske at sætte "xlApp." foran eller bruge en With (så kan du nøjes med punktummet). F.eks.: Sub Test_Excel() Dim xlApp As Object Set xlApp = CreateObject("Excel.Application")
With xlApp .Visible = True .Workbooks.Add
' Her kan du indsætte din kode - og foranstille punktummer foran hver kommando
.Range("A1")="Test"
.Range("A2").Select With .Selection With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With
Det er korrect hvad jeg har skrevet. Jeg har en database i Access som fint bliver overført til Excel - nu mangler jeg at overføre det programel (lave i Excel - kopieret til et modul i Access) der sætter regneark siden op med logo, dato, sidenr samt en kommando knap til at starte det overførte program som udfører opsætningen. Det ikke en Excel-fil der eksister, så den indeholder ikke noget program til opsætning af regnearket.
Jamen så er det præcis, som jeg har beskrevet. Så skal du bare erstatte .Workbooks Add med .Workbooks.Open <Filnavnet> og derefter indsætte din kode fra Excel og sætte punktummerne.
Linierne fra og med .Range("A1")="Test" er kun medtaget som eksemepler.
Knappen indsætter du fra værktøjskassen og i VedKlik hændelsen kalder du din opsætningsrutine. Eksempel: Private Sub MinKnap_Click() Test_Excel End Sub
Jeg er stadig forvirret over din formulering "flyt programkode fra Access til Excel". Koden skal ikke flyttes. Den udføres i Access. Regnearket kommer ikke til at indeholde kode, når det er færdigt. Det er Access, der udfører kommandoerne. Man kan sige, at Access "fjernstyrer" Excel. Ok?
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.