在outlook VBA中将范围设置为当前位置
我有一个宏,可以在活动电子邮件中插入一个表。现在我的问题是,我不知道如何添加用户在运行宏时键入的表。我想我必须定义一个范围,我已经研究了折叠方法,但是我被卡住了 这是我的代码:在outlook VBA中将范围设置为当前位置,vba,outlook,Vba,Outlook,我有一个宏,可以在活动电子邮件中插入一个表。现在我的问题是,我不知道如何添加用户在运行宏时键入的表。我想我必须定义一个范围,我已经研究了折叠方法,但是我被卡住了 这是我的代码: sub insertmytable() <br> Dim oRng As Object <br> Dim wdDoc As Object<br> If TypeName(ActiveWindow) = "Inspector" Then<br> If Active
sub insertmytable() <br>
Dim oRng As Object <br>
Dim wdDoc As Object<br>
If TypeName(ActiveWindow) = "Inspector" Then<br>
If ActiveInspector.IsWordMail And ActiveInspector.EditorType = olEditorWord Then<br>
Set wdDoc = ActiveInspector.WordEditor<br>
With wdDoc<br>
Set oRng = wdDoc.Range<br>
oRng.collapse<br>
.tables.Add Range:=oRng, numrows:=2, numcolumns:=5, defaulttablebehavior:=1, autofitbehavior:=0<br>
end with<br>
end if<br>
end if<br>
end sub<br>
谢谢你的帮助 尝试使用.InsertBefore 编辑2014 11 17
Sub insertmytable()
Dim oRng As Object
Dim wdDoc As Object
Dim objSel As Word.Selection
If TypeName(ActiveWindow) = "Inspector" Then
If ActiveInspector.IsWordMail And ActiveInspector.EditorType = olEditorWord Then
Set wdDoc = ActiveInspector.WordEditor
Set objSel = wdDoc.Windows(1).Selection
Set oRng = objSel.Range
oRng.Tables.Add Range:=oRng, NumRows:=2, NumColumns:=5, DefaultTableBehavior:=1, AutoFitBehavior:=0
End If
End If
End Sub
谢谢尼顿。这样我就可以在插入点插入文本。但是如何使用.InsertBefore添加表呢?是的!这给了我最初没有定义的用户定义类型,但后来我在工具->引用下添加了MicrosoftWord14.0对象库,现在它工作得非常好。非常感谢。
Sub insertmytable()
Dim oRng As Object
Dim wdDoc As Object
Dim objSel As Word.Selection
If TypeName(ActiveWindow) = "Inspector" Then
If ActiveInspector.IsWordMail And ActiveInspector.EditorType = olEditorWord Then
Set wdDoc = ActiveInspector.WordEditor
Set objSel = wdDoc.Windows(1).Selection
Set oRng = objSel.Range
oRng.Tables.Add Range:=oRng, NumRows:=2, NumColumns:=5, DefaultTableBehavior:=1, AutoFitBehavior:=0
End If
End If
End Sub