Forums Neueste Beiträge
 

Kleines Problem mit AddOLEControl

18/03/2008 - 23:30 von Kay Gruhl | Report spam
Hallo

Kann mir jemand auf die Sprünge helfen?

Wenn ich "test1" einzeln zweimal hintereinander aufrufe, funktioniert es
wie gewollt, d.h. beim 2. Durchlauf wird "Teil A" korrekt durchlaufen.

Rufe ich aber "test2" auf, kann beim 2. durchlauf "FaxDate" nicht
angesprochen werden.

Sub test1()

On Error GoTo InsertNewLabel
ActiveDocument.FaxDate.Select

'Teil A
Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionCharacter
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionLine
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)
Exit Sub

'Teil B
InsertNewLabel:
Dim LabelFaxDate As Object
Set LabelFaxDate = _
Selection.InlineShapes.AddOLEControl(ClassType:="Forms.Label.1")
With LabelFaxDate.OLEFormat.Object
.Name = "FaxDate"
.Caption = "17.03.2008"
.Width = 40
.Height = 12
End With
ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count).ConvertToShape

End Sub

Sub test2()

Application.Run ("test1")
Application.Run ("test1")

End Sub
-


Eigentlich würde mir auch folgendes Makro genügen, aber da kommt gleich
ein Fehler


-
Sub test3()

Dim LabelFaxDate As Object
Set LabelFaxDate = _
Selection.InlineShapes.AddOLEControl(ClassType:="Forms.Label.1")
With LabelFaxDate.OLEFormat.Object
.Name = "FaxDate"
.Caption = "17.03.2008"
.Width = 40
.Height = 12
End With

ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count).ConvertToShape
ActiveDocument.FaxDate.Select

Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionCharacter
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionLine
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)

End Sub
-


Kay
 

Lesen sie die antworten

#1 Cindy M.
01/04/2008 - 18:29 | Warnen spam
Hi Kay,

Tcha, und in test3, welche Codezeile verursacht den Fehler? Und wie lautet die
Meldung?

Kann mir jemand auf die Sprünge helfen?

Wenn ich "test1" einzeln zweimal hintereinander aufrufe, funktioniert es
wie gewollt, d.h. beim 2. Durchlauf wird "Teil A" korrekt durchlaufen.

Rufe ich aber "test2" auf, kann beim 2. durchlauf "FaxDate" nicht
angesprochen werden.

Sub test1()

On Error GoTo InsertNewLabel
ActiveDocument.FaxDate.Select

'Teil A
Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionCharacter
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionLine
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)
Exit Sub

'Teil B
InsertNewLabel:
Dim LabelFaxDate As Object
Set LabelFaxDate = _
Selection.InlineShapes.AddOLEControl(ClassType:="Forms.Label.1")
With LabelFaxDate.OLEFormat.Object
.Name = "FaxDate"
.Caption = "17.03.2008"
.Width = 40
.Height = 12
End With
ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count).ConvertToShape

End Sub

Sub test2()

Application.Run ("test1")
Application.Run ("test1")

End Sub
-


Eigentlich würde mir auch folgendes Makro genügen, aber da kommt gleich
ein Fehler


-
Sub test3()

Dim LabelFaxDate As Object
Set LabelFaxDate = _
Selection.InlineShapes.AddOLEControl(ClassType:="Forms.Label.1")
With LabelFaxDate.OLEFormat.Object
.Name = "FaxDate"
.Caption = "17.03.2008"
.Width = 40
.Height = 12
End With

ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count).ConvertToShape
ActiveDocument.FaxDate.Select

Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeHorizontalPositionCharacter
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionLine
Selection.ShapeRange.Left = CentimetersToPoints(0)
Selection.ShapeRange.Top = CentimetersToPoints(0)

End Sub
-




Cindy Meister
Co-Autor von »Microsoft Word-Programmierung Das Handbuch« (MS Press)
http://www.word.mvps.org
http://homepage.swissonline.ch/cindymeister

Rückfragen & Antworten nur in der Newsgroup, bitte!

Ähnliche fragen