• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

kopieren word naar excel

Status
Niet open voor verdere reacties.

Egbert12345

Gebruiker
Lid geworden
13 dec 2010
Berichten
521
Beste forummers, geruime tijd geleden heb ik onderstaand probleem al eens voorgelegd, maar het antwoord was mij niet duidelijk.
De tekst van de macro heb ik een keer van iemand gekregen via helpgroepen via Outlook, maar die groepen bestaan helaas niet meer.

Wat doet de macro? Opent diverse worddocumenten en kopieert de data naar Excel. Voorheen werkte ik per word2003 onder windows vista en verliep het probleemloos.
Momenteel werk ik met word2010 onder windows7 en nu werkt de macro niet meer. Ik heb wel enig verstand van VBA, maar dit gaat boven mijn pet. Mij is verteld dat
het te maken heeft met hoe word in deze macro is benoemd.

Kan iemand mij hiermee helpen?

Met vriendelijke groet
Egbert


Code:
Sub Kopieer_Word_agendaregels_BBS()
Dim wordProgr As Word.Application
Dim excelProgr As Excel.Application
Dim excelDocument As Excel.Workbook
Dim wordDocument As Word.document
Dim locatieWordBestand As String
Set excelDocument = ActiveWorkbook
Set excelProgr = GetObject(, "Excel.Application")
DitPad = ActiveWorkbook.Path:           zijpad = "\data mgmtinfo\":      DirDatabestand = DitPad & zijpad:      bestand = "agenda.xls"
Set wordProgr = CreateObject("Word.Application")

Application.ScreenUpdating = False: Application.DisplayAlerts = False
check_bestand = 0
On Error GoTo gereed

Workbooks(bestand).Activate

For A = 1 To 50
check_bestand = check_bestand + 1

    Workbooks(bestand).Activate
        Sheets.Add: ActiveSheet.Name = "agenda" & check_bestand & "":
            locatieWordBestand = DirDatabestand & "Overzicht Beheeracties" & check_bestand & ".doc"
 
    Set wordDocument = wordProgr.Documents.Open(locatieWordBestand)
        With wordProgr: .Visible = True:    .Selection.WholeStory:  .Selection.Copy:    End With
            With excelProgr:    .Sheets("agenda" & check_bestand & "").Select: End With
                Range("A1").Select: ActiveSheet.Paste: Range("A1").Select:
Next

gereed:

Sheets("agenda" & check_bestand & "").Delete    ' dit bestand is aangemaakt na de error en moet verwijderd worden
wordProgr.Visible = True:   wordProgr.Activate:
wordProgr.DisplayAlerts = False:    wordDocument.Close False:   wordProgr.Quit False

End Sub
 
Laatst bewerkt door een moderator:
Hoi,

Om te beginnen klopt de schrijfwijze niet meer; althans voor zover ik weet kun je niet eindigen met ":", behalve toepassingen zoals het label "gereed", waar je met goto naar toe zou kunnen springen.
Verder zou ik de variabele "wordProgr" aanpassen naar As Variant ipv As Word.application. Ik denk dat je hier al een heel eind mee komt; de rest van de puzzel lukt je dan misschien wel.
 
hoi, bedankt dat je hebt gereageerd, maar dit is nog niet de oplossing. Wat doet deze macro? Ik heb een aantal worddocumenten (aantal niet altijd bekend en daarom de on error ingebouwd) en die worddocumenten worden gekopieerd naar excel.
Wat ik niet begrijp is het volgende. Als ik de toepassing open onder windows vista en de worddocumenten aanmaak, dan kan ik die probleemloos verwerken met office 2010. Gebruik ik dezelfde toepassing onder windows7 en de worddocumenten op sla dan werkt de macro niet meer.
Ik heb toch de on error even uitgezet en Dim wordProgr As Word.Application gewijzigd in Dim wordprogr As Variant. Helaas zonder succes, want de macro loopt vast op de regel
Set wordDocument = wordProgr.Documents.Open(locatieWordBestand)
Heb je nog andere suggesties? m.vr.gr. Egbert
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan