Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VBA, WORD] Documenten converteren -> .docx

Pagina: 1
Acties:

  • bluewater
  • Registratie: Juni 2013
  • Laatst online: 20-11 22:31
Beste Forumleden,

Ik heb een hele map met documenten, die de .doc extensie hebben, nu wil ik doormiddel van een macro deze hele map doorzoeken op de extensie .doc vervolgens moet deze geconverteerd worden, en als laatste opgeslagen worden als .docx
hoe kan ik dit het beste aanpakken, ik heb zelf als iets in elkaar gefrutseld, maar aangezien mijn kennis niet geweldig is, denk ik dat dit stukje code totaal niet gaat werken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
Dim tel
On Error Resume Next

With Application.FileSearch
.FileName = "*.doc"
 .LookIn = "P:\Bureaublad\Brieven test"
   If .Execute() > 0 Then
           Documents.Open (.FoundFiles(i))
           Selection.Find.ClearFormatting
          ActiveDocument.Convert
          Selection.Find.Execute
        ActiveDocument.SaveAs2 FileName:="*.docx"


Kan iemand mij een stukje op weg helpen?

Bedankt alvast.

Wouter

  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 20-11 21:15
wouterh93 schreef op maandag 10 maart 2014 @ 12:12:
denk ik dat dit stukje code totaal niet gaat werken.
Dan probeer je het even?
Je kunt ook macro's opnemen, dat maakt het soms wat makkelijker.

Verder de vraag of je wel automatisch wilt converteren. Zonder al teveel opmaak zal het wel goed gaan, maar ik weet niet of het ook goed gaat bij geavanceerdere documenten?

  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 18-11 09:30
In 2004 heb ik Powerflower geholpen met een soortgelijk vraagstuk

Hieronder een linkje naar die thread

[Word]alleen velden van formulier opslaan

Hieronder in pseudocode wat je wilt doen
code:
1
2
3
4
5
6
7
8
9
10
open een leeg word document

doe voor alle files

    Open de file
    Sla hem op onder een andere naam in jouw geval
    sluit de file
 

einde doe


En dat ziet er zo uit in VBA


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub functie()

Dim Bestand As String

pad = "d:\"

Bestand = Dir(pad, vbNormal)

Do While Bestand <> ""
    
    If Bestand <> "." And Bestand <> ".." And LCase(Right(Bestand, 3)) = "doc" Then
                
        Application.Documents.Open (pad & Bestand)
        'hier moet je zelf nog de code voor het uitlezen maken
         ActiveDocument.Close 
    End If
    
    Bestand = Dir    ' Get next entry.

Loop
MsgBox "klaar"

End Sub

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies


  • bluewater
  • Registratie: Juni 2013
  • Laatst online: 20-11 22:31
Miyamoto schreef op maandag 10 maart 2014 @ 14:05:
[...]

Dan probeer je het even?
Je kunt ook macro's opnemen, dat maakt het soms wat makkelijker.

Verder de vraag of je wel automatisch wilt converteren. Zonder al teveel opmaak zal het wel goed gaan, maar ik weet niet of het ook goed gaat bij geavanceerdere documenten?
Ik heb mijn stukje code geprobeerd, maar krijg elke keer de melding er wordt end sub, of end with verwacht etc, marco opnemen heb ik al geprobeerd, maar dan gaat hij echt specifiek op de bestandsnaam af, en om nou voor alle 200 documenten de bestandsnaam handmatig in te voeren in de macro is ook zoiets, vandaar dat ik hem op .doc wil laten zoeken, document openen, converteren, en opslaan als .docx en dan de volgende etc.

Ik gebruik trouwens office 2013.

  • Sjakskus
  • Registratie: Maart 2002
  • Laatst online: 18-11 09:30
lol..
in mijn code vervang je regel 14 door iets in de trant van

code:
1
ActiveDocument.SaveAs bestand & "x", wdFormatDocument


en dan ben je er volgens mij....

Beschikbaar voor ontwikkeling van (webbased) applicaties en dataconversies