В настоящее время вы устанавливаете fileName
на "filePath"
в виде строки, а не фактического пути. Вы заметите, что в своем коде вы устанавливаете переменную filePath
в области действия if
, которая ограничена только оператором if
.
OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog1.Filter = @"All Files|*.*";
object fileName = "";
if (openFile.ShowDialog() == DialogResult.OK)
{
fileName = System.IO.Path.GetFullPath(OpenFileDialog1.FileName);
}
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document wordDoc = null;
object missing = System.Type.Missing;
document = App.Documents.Open(ref fileName, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
Вы заметите, что изменение перемещает назначение fileName
перед областью действия if
, а затем устанавливает значение fileName
для файла из OpenFileDialog. Затем это передается методам взаимодействия. Я предлагаю установить точку останова в строке object fileName = ""
и проверить присвоения переменных.
Я добавлю, что вы должны изменить свой код, чтобы убедиться, что результат вашего диалога OpenFile НЕ в порядке, тогда вы должны добавить оператор возврата или другой шаблон, чтобы убедиться, что вы не выполняете код, который завершится ошибкой, поскольку пользователь имеет отменил или закрыл диалог.