Avatar billede Slettet bruger
03. december 2009 - 11:07 Der er 9 kommentarer og
1 løsning

Macro i Word 2007

Hej.

Vi laver dagligt nogle udtræk fra vores regnskabsystem, der kommer ud som .doc. Vi åbner dette dokument og kører en makro, der fletter den med et andet dokument (.docx) og derefter gemmer den samme sted, samme navn, men idag gemmer den den som en .doc og vi vil gerne have den til at gemme som .docx.

Idag ser den del af makroen, som gemmer, sådan her ud:
ChangeFileOpenDirectory ".\"
ActiveDocument.SaveAs FileName:=ActiveDocument.Name, FileFormat:= _
        wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
        True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
        False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False

Ved i hvordan jeg får dette ændret?
Avatar billede Lene Fredborg Ekspert
03. december 2009 - 11:54 #1
Da du gemmer oven i det eksisterende dokument, burde det være tilstrækkeligt alt i alt at benytte denne kode, dvs. helt uden din SaveAs-kode:

    With ActiveDocument
        'Konverter til docx hvis i doc-format
        If Right(.name, 4) = ".doc" Then
            .Convert
        End If
       
        'Gem dokumentet
        .Save
    End With
Avatar billede leonberger Novice
03. december 2009 - 11:57 #2
Prøv

FileFormat=wdFormatDocumentDefault

istedet for FileFormat=wdFormatDocument
Avatar billede Slettet bruger
03. december 2009 - 12:54 #3
Lene-fredborg: Den popper op med en fejl ved .Convert.

leonberger: Jeg fik det prøvet, men der var ingen forskel.

Hvis jeg ændrer ActiveDocument.Name til f.eks. "Test.docx", så gemmer den fint som docx, men så hedder den bare test, hvor vi gerne vil have samme navn som .doc dokumentet.
Avatar billede Lene Fredborg Ekspert
03. december 2009 - 13:21 #4
Du skal bruge Word 2007 for at gemme i 2007-format.

Jeg skrev det ikke, men brugen af Convert forudsætter, at du bruger Word 2007 (regnede med at det var tilfældet pga. docx). Man kan ikke gemme i 2007-format fra tidligere versioner.

Du får ikke ændret filtypen ved manuelt at ændre ekstension fra doc til docx - nede bag ved det hele ved systemet godt, at det stadig er en doc-fil. Den skal konverteres eller gemmes som den rigtige type.
Avatar billede Slettet bruger
03. december 2009 - 13:24 #5
Hej Lene.

Vi bruger skam Word 2007, men den stopper lige udfor .Convert, jeg har prøvet at køre debuggeren vider og resten ser rigtig fint ud.
Avatar billede Lene Fredborg Ekspert
03. december 2009 - 13:38 #6
Hvilken fejlmelding får du ved .Convert?
Avatar billede Slettet bruger
03. december 2009 - 13:44 #7
Den giver mig en "Run-time errro '4605'. Denne kommando er ikke tilgængelig"
Avatar billede Lene Fredborg Ekspert
03. december 2009 - 14:30 #8
Det virker uden problemer her, når jeg tester. Jeg kan ikke umiddelbart regne ud, hvad problemet er. Afvikles makroen under nogle specielle betingelser?

Prøv evt. følgende: Lav et nyt dokument og gem i 97-2003-format (doc) - du behøver ikke at skrive noget i dokumentet. Prøv at køre makroen, mens det dokument er aktivt (måske det er en omfattende makro - så kopier bare delen med Convert). Går det godt?
Avatar billede Slettet bruger
03. december 2009 - 15:20 #9
Det gik godt :).

Jeg prøvede med det dokument som vi får fra vores regnskabsystem og gemme det først, ved gem som og så .doc og så derefter køre macro'en og der virkede det perfekt.

Du får tusinde tak, Lene.

Sender du et svar, så kommer der lidt point til dig. :)
Avatar billede Lene Fredborg Ekspert
03. december 2009 - 15:38 #10
Velbekomme. Det var godt, at det lykkedes.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester