Avatar billede seeque Nybegynder
08. maj 2002 - 10:46 Der er 7 kommentarer og
1 løsning

Problemer med MS Word

Jeg er ved at lave et program til håndtering af skabeloner. De færdige skabeloner skal så åbnes i Word ved at sætte tekstbokse ind i et tomt dokument.
--------------------------------------------------------
Dim MyWordObject As Word.Application
Set MyWordObject = New Word.Application
Dim MyWordDocument As Word.Document
Dim MyShape As Word.Shape
With MyWordObject
    TMP_Bredde = .CentimetersToPoints(10)  'cm --> Points
    TMP_hoejde = .CentimetersToPoints(5)    'cm --> Points
    TMP_Xpos = .CentimetersToPoints(5)      'cm --> Points
    TMP_Ypos = .CentimetersToPoints(5)      'cm --> Points
    .Visible = False
    Set MyWordDocument = .Documents.Add(App.Path & "\std_skabelon.dot")
    Call MyWordDocument.Activate
    Set MyShape = MyWordDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, TMP_Xpos, TMP_Ypos, TMP_Bredde, TMP_hoejde)
    Call MyShape.Select
    Call MyShape.TextFrame.TextRange.Select
    Call Selection.Collapse
    Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    Selection.TypeText Text:="Casper Quitzau" & vbCrLf & "Bredstedgade 7, 1.th" & vbCrLf & "5000 Odense"
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.Line.Visible = msoFalse
    'Selection.ShapeRange.WrapFormat.AllowOverlap = True
    Selection.Font.Size = 12
    .Visible = True
End With
--------------------------------------------------------

Første gang koden køres lykkedes det, men anden gang kommer denne fejl:  http://www.seeque.dk/test/vbfejl.jpg

HASTER !!!

Mvh
SeeQue
Avatar billede seeque Nybegynder
08. maj 2002 - 10:49 #1
lige en lille ting mere :-)

det er i denne linie fejlen opstår:
--------------------------------------------------------
    Call Selection.Collapse
--------------------------------------------------------

Mvh
SeeQue
Avatar billede Slettet bruger
08. maj 2002 - 12:39 #2
Run-time error 462:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q189949

Det har muligvis noget at gøre med at du ikke nedlægger MyWordObject efter brug.
Husk at skrive
Set MyWordObject = Nothing
Efter du har oprettet dokumentet
Avatar billede seeque Nybegynder
08. maj 2002 - 12:48 #3
Hej blackadder

Jeg måtte lige tjekke... men som jeg også huskede så har jeg lukket de objecter jeg bruger. Denne stump kode står i programmet lige umiddelbart efter det første stykke jeg indsendte:
--------------------------------------------------------
        Set MyShape = Nothing
        Set MyWordDocument = Nothing
        Set MyWordObject = Nothing
--------------------------------------------------------

Jeg har oven i købet prøvet at lave en selvstændig form som håndtere WordObjectet, som jeg så Unload'er igen bag efter.
Alt kode er lagt i den samme sub.
Der ud over har jeg lagt mærke til at hvis man ikke lukker word ordetligt så kan man se WINWORD.EXE i Win2K taskmanager... og desværre så er den der ikke.

Mvh
SeeQue
Avatar billede seeque Nybegynder
08. maj 2002 - 12:51 #4
hej igen.. igen :)

For at undgå forvirring så kommer lige koden som den ser ud samlet:
--------------------------------------------------------
        Dim MyWordObject As Word.Application
        Set MyWordObject = New Word.Application
        Dim MyWordDocument As Word.Document
        'Set MyWordDocument = New Word.Document
        Dim MyShape As Word.Shape
       
       
        If MyWordObject Is Nothing Then
            Call MsgBox("Word kunne desværre ikke åbnes" & vbCrLf & "Undersøg evt. om word mangler at blive installeret på computeren", vbOKOnly, "Fejl i åbning af dokument")
        Else
            With MyWordObject
                TMP_Bredde = .CentimetersToPoints(10)  'cm --> Points
                TMP_hoejde = .CentimetersToPoints(5)    'cm --> Points
                TMP_Xpos = .CentimetersToPoints(5)      'cm --> Points
                TMP_Ypos = .CentimetersToPoints(5)      'cm --> Points
               
                .Visible = False
               
               
                'Call MyWordDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, TMP_Xpos, TMP_Ypos, TMP_Bredde, TMP_hoejde).Select
                'Selection.ShapeRange.TextFrame.TextRange.Select
               
                Set MyWordDocument = .Documents.Add(App.Path & "\std_skabelon.dot")
                Call MyWordDocument.Activate
                Set MyShape = MyWordDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, TMP_Xpos, TMP_Ypos, TMP_Bredde, TMP_hoejde)
                Call MyShape.Select
                Call MyShape.TextFrame.TextRange.Select
                Call Selection.Collapse
                Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
                Selection.TypeText Text:="Casper Quitzau" & vbCrLf & "Bredstedgade 7, 1.th" & vbCrLf & "5000 Odense"
                Selection.ShapeRange.Fill.Visible = msoFalse
                Selection.ShapeRange.Line.Visible = msoFalse
                'Selection.ShapeRange.WrapFormat.AllowOverlap = True
                Selection.Font.Size = 12
               
                'Selection.Font.Name = "Arial Black"
                'Selection.Font.Bold = True
                'Selection.Font.Italic = True
                'Selection.Font.StrikeThrough = True
                'If Selection.Font.Underline = wdUnderlineNone Then
                '    Selection.Font.Underline = wdUnderlineSingle
                'Else
                '    Selection.Font.Underline = wdUnderlineNone
                'End If
               
               
                'Call .ActiveDocument.PrintPreview
           
                .Visible = True
            End With
        End If
        'MyWordObject.Quit
        Set MyShape = Nothing
        Set MyWordDocument = Nothing
        Set MyWordObject = Nothing
--------------------------------------------------------

Mvh
SeeQue
Avatar billede Slettet bruger
11. maj 2002 - 11:23 #5
Får du stadigvæk samme fejlmeddelelse ?
Avatar billede seeque Nybegynder
11. maj 2002 - 12:11 #6
Hej blackadder

Ja desværre... hvis det bare havde været det andet der var galt. Det ville jeg meget gerne have givet dig de 200 point for.

Du skulle vel ikke have et bud mere på hvad der skulle være galt ?? :)

Mvh
SeeQue
Avatar billede seeque Nybegynder
24. maj 2002 - 09:34 #7
Jeg fadt selv ud af det ved at lave en miniprogram som åbner word og lukker sig selv bag efter.

Jeg lukker spørgsmålet

Mvh
SeeQue
Avatar billede alexander_j Nybegynder
24. marts 2007 - 17:03 #8
Hvordan kom dit program til at se ud? Jeg sidder nemlig med et lignende problem.
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