Avatar billede multicoder Nybegynder
28. august 2006 - 10:21 Der er 7 kommentarer og
1 løsning

Dim objDoc As Document

Hej Jeg har et script som skulle åbne et word dokument og derefter ændre dens template til "Normal".

Når jeg aktivere scriptet får jeg følgende fejl.

Compile error:
Use-defined type not defined

problemet ser ud til at være
  Dim objDoc As Document
  Dim objTemplate As Template
  Dim dlgTemplate As Dialog
da den ikke kender Document, Template og Dialog

Mit spørgsmål er så hvordan definere man nye data typer?

*** script ***
Private Sub CommandButton1_Click()

    Dim strFilePath As String
    Dim strPath As String
    Dim intCounter As Integer
    Dim strFileName As String
    Dim OldServer As String
    Dim objDoc As Document
    Dim objTemplate As Template
    Dim dlgTemplate As Dialog
    Dim nServer As Integer

    'hardcode the name of the old server.


    OldServer = "filserver"
    nServer = Len(OldServer)
    strFilePath = InputBox("What is the folder location that you want to use?")


    If Right(strFilePath, 1) <> "\" Then strFilePath = strFilePath & "\"
        strFileName = Dir(strFilePath & "*.doc")
        Do While strFileName <> ""
        Set objDoc = Documents.Open(strFilePath & strFileName)
        Set objTemplate = objDoc.AttachedTemplate
        Set dlgTemplate = Dialogs(wdDialogToolsTemplates)
        strPath = dlgTemplate.Template
   
    If LCase(Left(strPath, nServer)) = LCase(OldServer) Then
        objDoc.AttachedTemplate = NormalTemplate

    End If

    strFileName = Dir()
    objDoc.Save
    objDoc.Close

    Loop

    Set objDoc = Nothing
    Set objTemplate = Nothing
    Set dlgTemplate = Nothing

End Sub
Avatar billede terry Ekspert
28. august 2006 - 12:04 #1
you need a reference to Word in your project. Then alter

  Dim objDoc As Document
  Dim objTemplate As Template
  Dim dlgTemplate As Dialog

to

  Dim objDoc As Word.Document
  Dim objTemplate As Word.Template
  Dim dlgTemplate As Word.Dialog
Avatar billede multicoder Nybegynder
28. august 2006 - 14:14 #2
Hi Terry

Thank you for your answer.

I have added Word to my code, but I still get the error message.
Avatar billede supertekst Ekspert
28. august 2006 - 14:18 #3
Har prøvet at indlægge koden & udføre koden i Word VBA (2003) - intet problem.
Avatar billede terry Ekspert
28. august 2006 - 14:26 #4
do you also have a reference to Word?
Avatar billede supertekst Ekspert
28. august 2006 - 15:08 #5
Standard references:
Visual basic for applications
Micro word 11.0 object library
OLE automation
Normal
Microsoft office 11.0 object library
Avatar billede multicoder Nybegynder
28. august 2006 - 15:48 #6
Så virker det, jeg var ikke klar over at den skulle aktiveres fra word, jeg sad i Excel.
Avatar billede terry Ekspert
28. august 2006 - 16:57 #7
great, if your happy with the answer then you should maybe accept to close the question :o)
Avatar billede terry Ekspert
29. august 2006 - 13:09 #8
thanks
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