文本文件是UTF8格式的,open函数传入测参数如下:
CComVariant vFilename = L"c:\\test.txt";
CComVariant vTrue((short)TRUE), vFalse((short)FALSE), vNoDialog((short)TRUE);
CComVariant vOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
CComVariant vFormat((long)0x00000005);
CComVariant vEncode((long)0x0000FDE9); hRet = pDocs->Open(
&vFilename,
&vFalse,
&vFalse,
&vFalse,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vFormat, /// 指定为Unicode文本格式, 不指定这两个参数时可以打开Word文档
&vEncode, /// 指定编码为UTF8
&vTrue,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&pDoc);
请教一下上面的这样写为何不能打开文本文件 ?
CComVariant vFilename = L"c:\\test.txt";
CComVariant vTrue((short)TRUE), vFalse((short)FALSE), vNoDialog((short)TRUE);
CComVariant vOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
CComVariant vFormat((long)0x00000005);
CComVariant vEncode((long)0x0000FDE9); hRet = pDocs->Open(
&vFilename,
&vFalse,
&vFalse,
&vFalse,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vFormat, /// 指定为Unicode文本格式, 不指定这两个参数时可以打开Word文档
&vEncode, /// 指定编码为UTF8
&vTrue,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&pDoc);
请教一下上面的这样写为何不能打开文本文件 ?
#include"stdafx.h"
#include<afxdisp.h>
#include<windows.h>
#include <iostream>
#include<stdio.h>
using namespace std;#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\mso.dll"rename_namespace("Office") named_guids,exclude("Pages")
using namespace Office;#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.olb" rename_namespace("VBE6")
using namespace VBE6;#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" rename("ExitWindows","ExitWindowsEx")#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB"rename_namespace("Word"), raw_interfaces_only, named_guids ,exclude("Pages")
using namespace Word;int main()
{ CoInitialize(NULL);
Word::_ApplicationPtr app;
Word::DocumentsPtr docs;
COleVariant vFalse((short)FALSE), vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR); if (!app.CreateInstance(L"Word.Application"))
TRACE("\nCreate Dispatch failed!"); app->put_Visible(_variant_t(TRUE)); app->get_Documents(&docs);
CComVariant vFilename = L"c:\\test.txt";
CComVariant vTrue((short)TRUE), vNoDialog((short)TRUE);
CComVariant vOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
CComVariant vFormat((long)0x00000005);
CComVariant vEncode((long)0x0000FDE9); HRESULT hRet = docs->Open(
&vFilename,
&vFalse,
&vFalse,
&vFalse,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vOptional,
&vOptional, /// 指定为Unicode文本格式, 不指定这两个参数时可以打开Word文档
&vOptional, /// 指定编码为UTF8
&vTrue,
&vOptional,
&vOptional,
&vOptional,
&vOptional); while(1)
Sleep(1000); docs->Close();
docs.Release();
app->Quit(vFalse, vOpt, vOpt);
app.Release();
CoUninitialize();
return 0;}
。关于你所提到的返回值,我就不清楚了,这个错误没看到过