Ga naar inhoud

Word laden in excel via vba?


frigooke

Aanbevolen berichten

Hey,

Ik heb wat vba tekst geschreven in een excel (hangt achter button).

Hierover heb ik twee vragen:bawling::

-Ik wil een tweede button met vba code die een word bestand opent...ik vermoed dat hier iemand de exacte code kent? Ik heb wat geprobeerd maar het geeft fouten.(hoe zit het trouwens met andere bestanden te openen...heb ook al vb geschreven in microstation en daar kon ik tekeningen inladen...)

-Ik heb in deze hiervoorvernoemde word file verscheidene records (woorden) die uit een excel file worden ingevuld via afdruk samenvoegen.

Is dit ook te doen met vba code?

greetz,

:ciao:

Link naar reactie
Delen op andere sites

Dit staat in de help-files.

Controlling One Microsoft Office Application from Another

If you want to run code in one Microsoft Office application that works with the objects in another application, follow these steps.

  1. Set a reference to the other application's type library in the References dialog box (Tools menu). After you have done this, the objects, properties, and methods will show up in the Object Browser and the syntax will be checked at compile time. You can also get context-sensitive Help on them.
  2. Declare object variables that will refer to the objects in the other application as specific types. Make sure you qualify each type with by the name of the application that’s supplying the object. For example, the following statement declares a variable that will point to a Microsoft Word document and another that refers to a Microsoft Excel workbook:
    Dim appWD As Word.Application, wbXL As Excel.Workbook
    Note You must follow the preceding steps if you want your code to be early bound.
  3. Use the CreateObject function with the OLE Programmatic Identifiers of the object you want to work with in the other application, as shown in the following example. If you want to see the session of the other application, set the Visible property to True.
    Dim appWD As Word.Application
    Set appWD = CreateObject("Word.Application")
    appWd.Visible = True
  4. Apply properties and methods to the object contained in the variable. For example, the following instruction creates a new Word document. Dim appWD As Word.Application
    Set appWD = CreateObject("Word.Application")
    appWD.Documents.Add
  5. When you are done working with the other application, use the Quit method to close it, as shown in the following example.
    appWd.Quit

Link naar reactie
Delen op andere sites

Bedankt voor de info...

-openen,sluiten, save en save as lukt (mits wat sukkelen, eerste keren kwam er een foutmelding dat ik in de nieuwe gegenereerde word na het "save assen" de word met iets moest omzetten ...)

-nog iemand een idee achter de code van het afdruk samenvoegen?? (heb hier engelse versie, dus merge mail is dat vermoed ik)

-hoe weet je trouwens welke library je moet toevoegen (heb bijna alles toegevoegd, maar voor office en word staat er veel...,) is dit eventueel ook nog extra nodig bij de code van afdruk samenvoegen?

ciao

Link naar reactie
Delen op andere sites

Als je weet hoe het samenvoegen normaal in zijn werk gaat, kan je misschien een macro opnemen waarin je die acties uitvoerd en nadien deze macro uitpluizen en customiseren.

Voor die libraries.

Veel van die libraries staan er met meerdere versies. Je neemt dan enkel de meest recente.

Voor de rest kan je ze selecteren en dan krijg je onder het kader een korte beschrijving van de betreffende librarie. Dan is het met gezond verstand dat je bepaald of je die librarie nodig hebt of niet. Dit is tijdrovend en arbeidsintensief maar op termijn loont het om ze allemaal eens af te lopen.

Link naar reactie
Delen op andere sites

  • 2 weken later...

Het lukt me niet om de opdracht voor de volgende record (in word) te geven vanuit excel. Hetvolgde leek mij correct, maar geeft een object-error.

Sub OpenAndMergeMailToWordFile()

Dim appWD As Word.Application

Set appWD = CreateObject("Word.Application")

Dim titel As String

titel = "100 gram salami"

Documents.Open Filename:="C:\Documents and Settings\fritskeritske\Bureaublad\naam"

Documents("naam.doc").Activate

ActiveDocument.MailMerge.DataSource.ActiveRecord = 28

ActiveDocument.SaveAs Filename:="C:\Documents and Settings\fritskeritske\Bureaublad\" & titel & ".doc"

appWD.Quit

End Sub

ciao

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.