【问题标题】:Unexpected identifier in definition. Expected incomplete structured construct at or before this point or other token定义中有意外的标识符。预期在此点或之前的不完整结构化构造或其他标记
【发布时间】:2020-03-01 23:16:44
【问题描述】:

我目前正在尝试设置 Microsoft.Office.Interop.Word.Application,以便我可以扫描 Word 文档中的特定单词并替换它们。

这是我的部分代码不起作用。

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application() { Visible = true };

它给出了这个错误:

定义中有意外的标识符。预期结构不完整 在此点或其他标记处或之前构造。

let fileName = Path.Combine(
                  System.Windows.Forms.Application.StartupPath, 
                  "document.docx");


Microsoft.Office.Interop.Word.Application wordApp = new 
Microsoft.Office.Interop.Word.Application() { Visible = true };

Microsoft.Office.Interop.Word.Document aDoc = 
wordApp.Documents.Open(fileName, "ReadOnly: false, Visible: true");

aDoc.Activate();`enter code here`

FindAndReplace(wordApp, "{id}", "12345");

【问题讨论】:

标签: f#


【解决方案1】:

您的代码的许多部分都使用 C# 语法,而不是 F#。这就是用 F# 编写的样子:

let fileName = Path.Combine(System.Windows.Forms.Application.StartupPath, "document.docx")

let wordApp = new Microsoft.Office.Interop.Word.Application(Visible = true)

let aDoc = wordApp.Documents.Open(fileName, "ReadOnly: false, Visible: true")

aDoc.Activate()

FindAndReplace(wordApp, "{id}", "12345")

【讨论】:

  • 感谢您的快速回复@TheQuickBrownFox 但是您的解决方案产生了 4 个新错误。 let wordApp = new Microsoft.Office.Interop.Word.Application(Visible = true) -- 'new' 不能用于接口类型。考虑使用对象表达式 '{ new ... with ... }'。
  • let aDoc = wordApp.Documents.Open(fileName, "ReadOnly: false, Visible: true") 此表达式的类型应为“obj ref”,但此处的类型为“字符串”
  • aDoc.Activate() 定义中的意外标识符。预计此时或之前的不完整结构化构造或其他标记。
  • 对此的任何建议将不胜感激。
猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 2021-01-05
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
相关资源
最近更新 更多