2016-11-21 304 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

請參閱我對該問題的評論。 –