Avatar billede a15995 Nybegynder
08. oktober 2013 - 11:28

Excel Document_Open() problem...

Hej!

Jeg har fået et irriterende Excel-VBA problem med Document_Open.

Jeg har lavet følgende kode, som er sat ind som modul under ThisDocument:

[code]Private Sub Document_Open()
    Dim strFirma As String
    Dim strOverskrift As String
    Dim strSti As String
    Dim strFilnavn As String
    Dim lngConfirm As Long
   
    strSti = "\\FP01\Faelles\Salg\Tilbud\"
    strFirma = ActiveDocument.Bookmarks("bmFirma").Range.Text
    strOverskrift = ActiveDocument.Bookmarks("bmOverskrift").Range.Text
    strFilnavn = strOverskrift & " - " & Replace(strFirma, ".", "_") & ".docx"

    lngConfirm = MsgBox(Prompt:="Dokumentet bliver gemt på følgende placering: " & strSti & strFirma & "\" & strFilnavn, _
        Buttons:=vbYesNo + vbDefaultButton1, _
        Title:="Bekræft filplacering")
    If lngConfirm = vbNo Then Exit Sub

    Selection.WholeStory
    Selection.Fields.Unlink
    Selection.HomeKey Unit:=wdStory
   
    On Error Resume Next
    MkDir strSti & strFirma
    ActiveDocument.SaveAs FileName:=strSti & strFirma & "\" & strFilnavn, FileFormat:=wdFormatDOCX
    ActiveWindow.Caption = ActiveDocument.Name
End Sub[/code]

Koden gør hvad den skal: Gemmer dokumentet under nyt navn således, at det oprindelige dokument ikke overskrives. Dette skal ske umiddelbart efter at det sammenkædede dokument er flettet.

Dette fungerer perfekt, når man åbner Word-dokumentet direkte (Filnavn.docm) - men hvis jeg åbner det fra Excel (hvor det er integreret som objekt/kæde), så får jeg flere VB-fejl, som siger, at objektet ikke eksisterer. Med andre ord - koden køres før dokumentet er fuldt indlæst og kæderne er opdaterede.

Hvorfor er der denne forskel i adfærden? Jeg mener, om jeg åbner dokumentet fra stifinder eller fra Excel er vel ligemeget?

Håber noget ved, hvad jeg kan gøre - enten ved en kode, der først køres når kæderne er opdaterede eller blot ved, hvorfor Word reagerer som den gør.

Tillægsspørgsmål: Hvordan undgår jeg, at scriptet fjerner hyperlinks fra dokumentet og altså kun fjerner kæderne?

På forhånd tak!

MVH
Søren Larsen
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