2016-11-21 264 views
0

Word设置对话框的说法在VBA我可以使用:德尔福v.Word - 如何从德尔福

 
ActiveDocument.FormFields(1).Select 
With Dialogs(wdDialogFormFieldOptions) 
    .Name = 'ojejku' 
    .Execute 
End With 

但在德尔福(XE5)?

 
WordApplication.ActiveDocument.FormFields.Item(1).Select; 
// WordApplication.Dialogs.Item(wdDialogFormFieldOptions).Name := 'MyName'; // This not working 
WordApplication.Dialogs.Item(wdDialogFormFieldOptions).Execute; 
+0

正如Christine在下面提到的,Dialogs上没有Name属性,所以即使VBA选项也会失败。很可能您禁用了VBA中的错误处理程序。如果输入提供的VBA代码,由于不存在名称属性,.Name行将亮起红色。 –

+0

+1以抵消没有根据的downvote。 @Maarten,显然VBA代码有效,请参阅表[这里](https://msdn.microsoft.com/en-us/library/office/ff836540.aspx)中的wdDialogFormFieldOptions和[here](http:// word.mvps.org/faqs/macrosvba/AssignNameToFmFld.htm)就是一个例子。 –

+0

我给你的建议是使用后期绑定,其中类型库的签名与你应该能够做的不匹配。您可以随时切换到IDispatch调度,请参阅第二个片段[here](http://stackoverflow.com/a/40694111/243614)。 –

回答

0

因为Dialog对象没有名为“name”的属性。请参阅MS参考here

+0

请参阅我对该问题的评论。 –