求助: C++/CLI 中 引用 Microsoft::Office::Interop::Word
C++/CLI中无法关闭Word。
1>C:\Users\Administrator\source\repos\CLI_ExportWordDocumen\CLI_ExportWordDocumen\CLI_ExportWordDocumen.cpp(47,16): error C2385: 对“Close”的访问不明确
1>C:\Users\Administrator\source\repos\CLI_ExportWordDocumen\CLI_ExportWordDocumen\CLI_ExportWordDocumen.cpp(47,16): message : 可以是基 "Microsoft::Office::Interop::Word::_Document" 中的 "Close"
1>C:\Users\Administrator\source\repos\CLI_ExportWordDocumen\CLI_ExportWordDocumen\CLI_ExportWordDocumen.cpp(47,16): message : 也可以是基 "Microsoft::Office::Interop::Word::DocumentEvents2_Event" 中的 "Close"
1>C:\Users\Administrator\source\repos\CLI_ExportWordDocumen\CLI_ExportWordDocumen\CLI_ExportWordDocumen.cpp(47,70): error C3278: “Microsoft::Office::Interop::Word::_Document::Close”接口或纯方法的直接调用将在运行时失败
程序代码:using namespace System;
using namespace System::IO;
using namespace System::Reflection;
namespace MSWord = Microsoft::Office::Interop::Word;
int main(array<System::String^>^ args)
{
Object^ path; //文件路径变量
String^ strContent; //文本内容变量
MSWord::Application^ wordApp; //Word应用程序变量
MSWord::Document^ wordDoc; //Word文档变量
array<String^>^ WriteDocumen = { "去年今日此门中,\n","人面桃花相映红。\n" ,"人面不知何处去,\n", "桃花依旧笑春风。" };
path = "C:\\Users\\Administrator\\Desktop\\测试" + DateTime::Now.ToString("yyyyMMddHHmmss") + ".doc";
wordApp = gcnew MSWord::ApplicationClass(); //初始化
wordApp->Visible = true;//使文档可见
//由于使用的是COM库,因此有许多变量需要用Missing.Value代替
Object^ Nothing = Missing::Value;
wordDoc = wordApp->Documents->Add(Nothing, Nothing, Nothing, Nothing);//ref Nothing);
//行间距与缩进、文本字体、字号
wordApp->Selection->ParagraphFormat->LineSpacing = 16;//设置文档的行间距
wordApp->Selection->ParagraphFormat->FirstLineIndent = 0;//首行缩进的长度
//写入普通文本
strContent = "题都城南庄\n";
wordDoc->Paragraphs->Last->Range->Font->Size = 22;
wordDoc->Paragraphs->Last->Range->Font->Name = "方正小标宋简体";
wordDoc->Paragraphs->Last->Range->Text = strContent;
wordApp->Selection->ParagraphFormat->Alignment = MSWord::WdParagraphAlignment::wdAlignParagraphCenter;
Object^ unite = MSWord::WdUnits::wdStory;
wordApp->Selection->ParagraphFormat->FirstLineIndent = 10;//设置首行缩进的长度
for each (auto i in WriteDocumen)
{
wordApp->Selection->EndKey(unite, Nothing);//将光标移到文本末尾
wordDoc->Paragraphs->Last->Range->Font->Name = "华文行楷";
wordDoc->Paragraphs->Last->Range->Font->Size = 48;
wordDoc->Paragraphs->Last->Range->Text = i;
wordApp->Selection->ParagraphFormat->Alignment = MSWord::WdParagraphAlignment::wdAlignParagraphCenter;
}
wordApp->Selection->EndKey(unite, Nothing); //将光标移动到文档末尾
//WdSaveFormat为Word 2003文档的保存格式
Object^ format = MSWord::WdSaveFormat::wdFormatDocument;// office 2007就是wdFormatDocumentDefault
//将wordDoc文档对象的内容保存为DOCX文档
wordDoc->SaveAs(path, format, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing);
Object^ saveChanges = MSWord::WdSaveOptions::wdSaveChanges;
Object^ originalFormat = Type::Missing;
Object^ routeDocument = Type::Missing;
//wordDoc->_Document::Close(saveChanges, originalFormat, routeDocument);
}



