Toon posts:

[vba] Vier Word-documenten --> Een document?

Pagina: 1
Acties:
  • 266 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Euj iedereen,

Hoe krijg ik het voor elkaar om 4 (losse) Word documenten met VBA (of VB) achter elkaar te zetten in één document? Ik kan het niet vinden in MSDN...

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 16-08 12:50

CTRL + C
CTRL + V
CTRL + C
CTRL + V
CTRL + C
CTRL + V


Of...?

Wat is VBA?

Verbouwing


Verwijderd

Topicstarter
Visual Basic for Applications (dus Visual Basic voor o.a. Word, Excel, Access, etc etc) Maar ik heb het al voor elkaar!

  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
Ik zou graag van je willen horen hoe je het opgelost hebt.. ik zit namelijk met een vergelijkbare uitdaging. alleen bij mij gaan het om 30+ documenten.

Ik zit te denken aan een vinklijst en dan laten samenvoegen.

mail me anders maar ff op hanomag-henschel at microsoftsucks dot org

  • KingRichard
  • Registratie: September 2002
  • Laatst online: 17-08 19:31

KingRichard

former Duke of Gloucester

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub VoegDocumentenSamen()
' Uitgangspunten:
' Alle documenten staan in 1 dir ("C:\WordDocs\")
' De hele tekst, maar niet de voetnoten etc. moeten worden gekopiëerd
Dim strPath, strTargetDocument, strDocName(200) As String
Dim intDocCounter As Integer
strPath = "C:\WordDocs\"
strTargetDocument = "Samengevoegd[" & Date & "].doc"
intDocCounter = 1

strDocName(intDocCounter) = Dir(strPath & "*.doc", vbNormal)   'Eerste *.doc
Do While strDocName(intDocCounter) <> ""
    If strDocName(intDocCounter) <> "." And strDocName(intDocCounter) <> ".." Then
        intDocCounter = intDocCounter + 1
    End If
    strDocName(intDocCounter) = Dir
Loop
intDocCounter = intDocCounter - 1 'want de laatste is leeg

'Nu heb je een array met alle Worddocumenten in de dir strPath
'Nu kun je evt. een formuliertje maken dat je vult met een lijst uit deze array met vinkjes etc.
'Ik ga hier even uit van "alle documenten in de dir samenvoegen"

Documents.Add
For n = 1 To intDocCounter
    Documents.Open (strPath & strDocName(n))
    Selection.WholeStory
    Selection.Copy
    ActiveDocument.Close savechanges:=False
    Selection.Paste
Next n
ActiveDocument.SaveAs filename:=strPath & strTargetDocument
End Sub

Dit is natuurlijk een grof opzetje.

[ Voor 11% gewijzigd door KingRichard op 08-05-2003 11:32 . Reden: Vergeten om samengevoegd bestand te laten saven ]

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
nou na een paar weken weer verder worstelen(anders kan ik het niet noemen) moet ik zeggen dat het nog steeds niet opschiet.

Ik zit dus met de uitdaging dat ik 40 worddocumenten compleet met opmaak(tabellen) wil samenvoegen in 1 nieuwe. Ik heb al een formpje gemaakt met checkboxes maar nu is het de uitdaging dit werkend te krijgen. ook broncode kom ik in om maar door de bomen zie ik het bos niet meer. Door vinkjes uit te schakelen neem je dan documenten niet mee.

Het is een stageopdracht en ik zou hierdoor een beetje VB leren. Nou dat viel even zwaar tegen.

Elke vorm van hulp wordt zeer gewaardeert in ieder geval.

[ Voor 163% gewijzigd door Hanomag op 28-05-2003 15:26 ]


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
een klein bescheiden schopje om wellicht wat hulp te krigen die ik heel erg goed kan gebruiken.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

De code van King Richard is redelijk rechttoe rechtaan.
Probeer eens uit te leggen wat er niet lukt, welke meldingen je daarbij krijgt (of wat er foutgaat) en wat je zelf al hebt geprobeerd...? Anders komen we er nooit uit, vrees ik.

My personal website


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Zo 123 weet ik t ook niet, maar probeer het eens op de gewone manier, zoals je het als gebruiker zou doen. Nieuw document aanmaken, menu Insert ->File. Neem dat op als macro, en je bent al een stukje op weg. Je hoeft niets te openen, copy en daarna pasten, Word kan zelf een document invoegen op een bepaald punt. Insert men dus ;) Vergeet niet de cursor af en toe goed te zetten, anders worden de documenten op dezelfde plaats ingevoegd...

Exact expert nodig?


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
ik heb het onder een knop weten te krijgen alleen nu krijg ik de melding Run time error 424; object required bij regel 22.
Verder zou ik graag willen weten hoe je een lijst met checkboxes laat nalopen voor welke documenten hij moet samenvoegen.
in ieder geval voor het laten terug keren van mijn motivatie.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Een fout op regel 22.....

oh ja, natuurlijk! Dat is die regel waar je..... He wacht. Dat kunnen we helemaal niet weten.... Omdat je geen code hebt geplaatst!
Oftewel: maak je zaak ff duidelijk, anders kan niemand helpen.

My personal website


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
ik bedoel de code die King Richard gepost heeft, had ik inderdaad even naar moeten verwijzen.

Het staat er alleen scheef.

ter verduidelijking
22 documents.add [application.Documents ook geprobeert, exact de zelfde foutmelding]

[ Voor 49% gewijzigd door Hanomag op 03-06-2003 15:38 . Reden: lettertje vergeten en reactie ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Regel 22 is daar commentaar...?

My personal website


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Je gebruikt wel documents.add he? Want document.add gaat niet werken...
Als het dan nog niet werkt, probeer het dan eens met application.documents...?

En je zit wel in VBA te werken..?

[ Voor 12% gewijzigd door OZ-Gump op 03-06-2003 15:41 ]

My personal website


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

...dubbelpost...

[ Voor 93% gewijzigd door OZ-Gump op 03-06-2003 15:15 ]

My personal website


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
nee, ik werk in VB 6.0 enterprise edition. Volgens mij hoeft dat weinig uit te maken.
Het moet namelijk een onafhankelijk programmaatje worden waarin je middels een lijstje met checkboxes documenten kan selecteren om te laten samenvoegen in 1 nieuwe om ze daarna in te vullen(het zijn aanvraagformulieren voor vergunningen)

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Dat maakt wel degelijk alles uit!

Als je in VBA van Word werkt, kun je de documenten aanspreken door de variabele documents te gebruiken. Als je vanuit VB werkt moet je netjes je word-app dimmen als Object (of een reference toevoegen en word.application gebruiken). In de topictitle staat VBA terwijl jij in VB zit te werken: daarom krijg je een antwoord dat niet werkt: de omgeving is verkeerd aangegeven!

Had je de melding over het aparte appje eerder gegeven, en duidelijk aangegeven dat je in VB zit te werken in plaats van in VBA, dan was je er misschien al wel uit geweest...

Wat betreft de oplossing via VB: zoek op google maar eens op 'Word Automation'

[ Voor 4% gewijzigd door OZ-Gump op 04-06-2003 13:01 ]

My personal website


  • Hanomag
  • Registratie: Februari 2003
  • Laatst online: 25-08-2023
mijn excuses, wellicht had ik dan inderdaad beter een nieuw topic van kunnen maken gezien het feit dat ik niet de titel kan veranderen. in ieder geval bedankt voor de hulp ondanks de verwarring.

  • ErikRo
  • Registratie: Juni 2001
  • Laatst online: 04-08 15:18
Één toevoeging mijnerzijds. Ik heb mijn eigen versie gebouwd binnen VBA met methode activedocument.content.copy. Maar het valt me op dat weliswaar alle tekst en opmaak over gaat naar het nieuwe document.
Niet alles ziet er 100% precies zo uit ziet als het brondocument, Ik heb als test echte documenten genomen van 60 blz per stuk. Met veel grafisch werk en opmaak erbij.
Ook zag ik nogal wat bladwijzerfouten, moet nog uitzoeken wat dat precies zijn.
Bepaalde afstanden klopten ook niet meer zoals bv

was:
blabla bla blz1

werd
blabla blz1

Dat soort werk dus.

Het gros klopte echter wel, het is in ieder geval beter dan niets.
maar wel iets om rekening mee te houden.

"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant

Pagina: 1