Vanuit Excel een word document opstellen

Status
Niet open voor verdere reacties.

piros

Gebruiker
Lid geworden
5 feb 2007
Berichten
10
Hoi Allen,

Ik wil graag vanuit excel (op basis van ingevulde waarde) een word document genereren.

Dit wil ik compleet met headings en table of content doen.

dus bijvoorbeeld:

<voorbeeld>


Title


1. chapter 1

1.1 paragraph

1.2 paragraph

2. chapter 2

2.1 paragraph

2.2 paragraph

</voorbeeld>

Is dit mogelijk?

Groet,
piros
 
Even nuanceren. Het kan in principe prima. Je kunt zelfs een volledig word document maken via vbscripting mocht je dat echt willen.

De vraag is echter dan, waarom genereren vanuit excel? En waarom gaat dit tijd besparen tov een normaal template?
 
OK, ik leer graag.

Hoe maak je een Word-document vanuit Excel?
 
Ik moet toelichten waarom iets niet kan?

OK:
er is geen mogelijkheid om bij "opslaan als" te kiezen voor .doc
er is geen optie om te exporteren naar Word.doc
 
Volgens mij kan ik vanuit excel gewoon een word document maken:
Code:
Sub CreateNewWordDoc() 
     ' to test this code, paste it into an Excel module
     ' add a reference to the Word-library
     ' create a new folder named C:\Foldername or edit the filnames in the code
    Dim wrdApp As Word.Application 
    Dim wrdDoc As Word.Document 
    Dim i As Integer 
    Set wrdApp = CreateObject("Word.Application") 
    wrdApp.Visible = True 
    Set wrdDoc = wrdApp.Documents.Add 
     ' or
     'Set wrdDoc = wrdApp.Documents.Open("C:\Foldername\Filename.doc")
     ' sample word operations
    With wrdDoc 
        For i = 1 To 100 
            .Content.InsertAfter "Here is a sample test line #" & i 
            .Content.InsertParagraphAfter 
        Next i 
        If Dir("C:\Foldername\MyNewWordDoc.doc") <> "" Then 
            Kill "C:\Foldername\MyNewWordDoc.doc" 
        End If 
        .SaveAs ("C:\Foldername\MyNewWordDoc.doc") 
        .Close ' close the document
    End With 
    wrdApp.Quit ' close the Word application
    Set wrdDoc = Nothing 
    Set wrdApp = Nothing 
End Sub

Ik zou dit graag willen vanuit excel omdat in excel ik een calculatie maak. door middel van een knop kan ik ook een offerte maken in Word.
De opmaak/inhoud van de offerte is afhankelijk van de keuzes die ik maak in excel.
 
Zelfs dan is het vaak beter om zoveel mogelijk met vaste templates te werken. Het bespaard ontzettend veel werk tov puur VBA. Standaard lettertype, opmaak, lege index, etc.

Het is bijvoorbeeld veel eenvoudiger een lege index met een "update" zichzelf automatisch te laten bouwen dan de index invoegen met VBA. Word is qua automatisering het meest vervelend, omdat je geen vaste referentiepunten hebt en letterlijk elk teken tientallen eigenschappen kan hebben.

Templates maken en dan zoveel mogelijk knippen en plakken. Eventueel reference points of variables aanbrengen om eenvoudig de data vanuit excel op de juiste locatie te zetten.
 
Een Worddocument aanmaken via VB-code is in mijn ogen niet zelfde als een Worddocument maken vanuit Excel.
Maar da's een definitie-kwestie.

Vraag: Kan ik met een fiets hetzelfde als met een motor?
Antw: Ja, maar dan moet je er een hulpmotor opzetten. (dan is het geen fiets meer)
 
Als ik gebruik maak van een template. Hoe moet ik dan extra chapters toevoegen? het aantal hiervan is afhankelijk van de keuze die gemaakt wordt.

Daarom zou ik blij zijn met een voorbeeldje hoe dit te doen in VBA (vanuit excel).

Het toevoegen van tekstblokken (op basis van de keuzes in Excel) en genereren van een word document is al klaar. het enige waar ik nog tegen aanloop is de opmaak (Kopteksten en inhoudsopgave)

Bijvoorbaat dank.
 
Laatst bewerkt:
Maak een masterdocument in Word met een index (inhoudsupgave) en de koptekst. Indien de koptekst dynamisch moet zijn plaats dan unieke tekens op de plaatsen waar die moeten komen. Maak ook een nieuwe sectie in de master.

Vervolgens alles plakken in de nieuwe sectie, de inhoudsopgave een refresh opdracht geven en een search en replace doen op de plekken waar dat nodig is. Met vba later een sectie toevoegen en een inhoudsopgave maken is redelijk lastig.

Om de inhoudsopgave te kunnen maken moeten hoofdstukken en paragrafen liefst wel zijn voorzien van een "header". Daarna is het redelijk eenvoudig.
 
Waarvoor gebruik je in dit geval Excel ?
 
@Wampier: Is het ook mogelijk om standaard teksten (inclusief headers) (per tekstblok een apart document) in een word document te zetten. En dan het masterdocument telkens aan te vullen met een kopie van de standaard teksten. (misschien ***lig geformuleerd maar door middel van knippen uit het ene word document naar het plakken in het ander document. Het lijkt mij dan mogelijk om hoofdstukken toe te voegen die daarna in de inhoudsopgave terug komen via een refresh).

@snb: Excel wordt gebruikt om een mogelijke configuratie van een product samen te stellen waaraan gelijk een kosten calculatie aanvast zit. Het zou mooi zijn als er dan ook (op basis van de gekozen flexibele configuratie) een bijbehorende offerte tekst gegenereerd kan worden.
 
Je kunt vanuit Word gewoon Excel gebruiken (net zoals zoals je vanuit Excel Word kunt gebruiken)
 
Je kunt inderdaad gewoon knippen en plakken. Zolang de originele documenten de juiste headers bevatten kun je na kopieeren de inhoudsopgave verversen en zouden de hoofdstukken de juiste nummering moeten krijgen.
 
Heeft iemand een voorbeeldje hoe dat moet in VBA van EXCEL? Dan zou ik erg geholpen zijn.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan