Avatar billede wise Seniormester
27. januar 2002 - 17:01 Der er 6 kommentarer og
1 løsning

OLE adgang til Excel og Word

Hej Alle

Jeg skal kode noget i notes der skal åbne og benytte word og excel.
Jeg har pt et script der virker med excel, men er gået lidt i stå.

Her er et klip fra Agenten
*********************************************
Set xlApp = CreateObject("Excel.Application")  'start Excel with OLE Automation
    xlApp.StatusBar = "Creating WorkSheet. Please be patient..."
    xlApp.Visible = True
    xlApp.Workbooks.Add
    xlApp.ReferenceStyle = 2
    Set xlsheet = xlApp.Workbooks(1).Worksheets(1)  'select first worksheet
   
    'worksheet title
    xlsheet.Cells(rows,cols).Value ="View: " + ViewString + ", from Database: " +  db.title +",  Extract created on: " +  Format(Now,"mm/dd/yyyy HH:MM")
   
    xlApp.StatusBar = "Creating Column Heading. Please be patient..."
   
    rows=2     'column headings starts in row 2
    For K=1 To maxcols
        Set c=dataview.columns(K-1)
        xlsheet.Cells(rows,cols).Value = c.title
        cols = cols + 1
    Next K
*********************************************

Min spørgsmål er, hvad skal jeg tilsvarende bruge for at få fat i et word dokument ?    Altså jeg har fanget at der skal stå "Word.Application", men hvordan fanger jeg derefter et dokument ?

Og hvordan lave jeg ny kommandoer i VBA?
Denne kommando virker fint i scriptet: xlApp.Selection.Font.Bold = True
Men hvordan udfører jeg så denne VBA kode: Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
Jeg troede bare at xlApp.<det fra VBA> ville gøre det, men der må være noget med hvordan parameterne skal med, for det andet vil den ikke acceptere....
Avatar billede Slettet bruger
27. januar 2002 - 19:48 #1
Dim wordApp As Word.Application
Dim wordDoc As Word.Document

Set wordDoc = wordApp.Documents.Add

Mht. til 2.del af spørgsmålet. Prøv at optage en makro hvor du laver en selection og formatterer den som du har lyst. Så kan du, med få ændringer bruge koden fra den optaget makro i dit script.
Avatar billede wise Seniormester
27. januar 2002 - 23:28 #2
Kanon, jeg afprøver lige i morgen.
Angående den anden del, så er denne netop optaget i Excel
Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= True, Alignment:=True, Border:=True, Pattern:=True, Width:=True

Jeg ved bare ikke hvordan jeg skal ændre den, for denne linie (som virker) tyder på at man bare skal komme objektet foran, men det virker ikke med den lange...
xlApp.Selection.Font.Bold = True
Er der fordi den kun kan tage en parameter ad gange eller ?
Avatar billede Slettet bruger
27. januar 2002 - 23:46 #3
Det er vigtigt at du husker at få en underscore (_) med når du skifter linie. F.eks:

Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= _
        True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
Avatar billede wise Seniormester
28. januar 2002 - 20:40 #4
Hejsan
Obj.documents.add virker perfekt.
Men jeg kan fx stadig ikke indsætte tekst
Jeg har prøvet med fx objekt.Application.ActiveDocument.Text="Fra notes"
og det samme med min autoformat i Excel, hvordan skal den sættes på objektet. Jeg skal tydeligvis have parameterne med i "()", fremfor uden, men er der ikke nogen der har eksempler?
Avatar billede Slettet bruger
28. januar 2002 - 21:10 #5
Du kan klippe fra Excel og derefter klistre i Word. F.eks:
Range("A5:E11").Copy
wdApp.Selection.Paste

Hvis du vil indsætte en text i Word, skal du angive hvor teksten skal indsættes. F.eks:

ActiveDocument.Words(1).Text = "Hej"
eller
ActiveDocument.Paragraphs(2).Range.InsertBefore Text:="Hullubaloo"
Avatar billede Slettet bruger
14. februar 2002 - 21:50 #6
Har du fundet en løsning på problemet ?
Hvis du har, hvordan gjorde du så ?
Avatar billede wise Seniormester
14. februar 2002 - 22:51 #7
Dammn, du har ret, jeg har glemt at vende tilbage...
Jeg har fået hul fra Word, men ikke fået arbejdet videre med det.
Denne kode virker (og ja det hedder XlApp og Xlsheet fremfor Wapp og Wdoc.... jeg var for doven)
    Set xlApp = CreateObject("Word.application")  'start Word with OLE Automation
    Set XlSheet = xlapp.Documents.Add("C:\Templates\GMI\gmibrev.dot", False)
    XlSheet.Application.Visible = True
    xlsheet.Words(1).Text = "Dette er et brev fra notes"
    Set xlapp=Nothing  'stop OLE

Denne del virker.
Jeg har endnu ikke fået min excel aplication til at lave en autoformat, jeg har et problem med de mange parametrer der skal med, som det ses i word eksemplet er der ikke mange parametrer, og dem som er, er den del af ()...

Autoformat har mange parametrer og kan ikke bare tage dem i en ()
Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
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