大家帮帮忙,VC转office文档为html的方式? 在ATL中,如何将word文档等转换为html文档? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过automation操作Word Saveas.参考下面的代码////////////////////////////Print Document at background#include "stdafx.h"#import "E:\Program Files\Microsoft Office\Office10\MSWORD.OLB" named_guids raw_interfaces_only rename("ExitWindows", "wordExitWindows")void wordprint(){ Word::_ApplicationPtr app; app.CreateInstance("Word.Application"); Word::DocumentsPtr docs; app->get_Documents(&docs); Word::_DocumentPtr doc; _variant_t vFileName("c:\\a.doc"); _variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); _variant_t vTrue(VARIANT_TRUE); _variant_t vFalse(VARIANT_FALSE); docs->Open ( /*[in]*/&vFileName, /*[in] VARIANT * ConfirmConversions*/&vOptional, /*[in] VARIANT * ReadOnly*/&vOptional, /*[in] VARIANT * AddToRecentFiles*/&vOptional, /*[in] VARIANT * PasswordDocument*/&vOptional, /*[in] VARIANT * PasswordTemplate*/&vOptional, /*[in] VARIANT * Revert*/&vOptional, /*[in] VARIANT * WritePasswordDocument*/&vOptional, /*[in] VARIANT * WritePasswordTemplate*/&vOptional, /*[in] VARIANT * Format*/&vOptional, /*[in] VARIANT * Encoding*/&vOptional, /*[in] VARIANT * Visible*/&vOptional, /*[in] VARIANT * OpenAndRepair*/&vOptional, /*[in] VARIANT * DocumentDirection*/&vOptional, /*[in] VARIANT * NoEncodingDialog*/&vOptional, /*[out,retval]*/ &doc ); _variant_t vCopies((short)1); app->PrintOut ( /*[in] VARIANT * Background = &vtMissing*/ &vTrue , /*[in] VARIANT * Append = &vtMissing*/&vOptional , /*[in] VARIANT * Range = &vtMissing*/ &vOptional , /*[in] VARIANT * OutputFileName = &vtMissing*/&vOptional , /*[in] VARIANT * From = &vtMissing*/ &vOptional, /*[in] VARIANT * To = &vtMissing*/ &vOptional, /*[in] VARIANT * Item = &vtMissing*/ &vOptional, /*[in] VARIANT * Copies = &vtMissing*/&vCopies , /*[in] VARIANT * Pages = &vtMissing*/ &vOptional, /*[in] VARIANT * PageType = &vtMissing*/&vOptional , /*[in] VARIANT * PrintToFile = &vtMissing*/ &vFalse, /*[in] VARIANT * Collate = &vtMissing*/ &vOptional, /*[in] VARIANT * FileName = &vtMissing*/ &vOptional, /*[in] VARIANT * ActivePrinterMacGX = &vtMissing*/ &vOptional, /*[in] VARIANT * ManualDuplexPrint = &vtMissing*/&vOptional , /*[in] VARIANT * PrintZoomColumn = &vtMissing*/ &vOptional, /*[in] VARIANT * PrintZoomRow = &vtMissing*/ &vOptional, /*[in] VARIANT * PrintZoomPaperWidth = &vtMissing*/ &vOptional, /*[in] VARIANT * PrintZoomPaperHeight = &vtMissing*/ &vOptional) ; Sleep(3000); app->Quit(&vOptional,&vOptional,&vOptional);}int _tmain(int argc, _TCHAR* argv[]){ printf("Automate word to print a document, test by masterz with VC.NET2003 on WindowXP, OfficeXP\n"); CoInitialize(NULL); wordprint(); CoUninitialize(); return 0;} 2楼意思是利用Word的保存功能,直接保存成html就可以了? 各位,还有没有什么好办法?to masterz(www.fruitfruit.com) 你的方法我试过了,好像不行 http://www.netyi.net/in.asp?id=lockllb 在这里有计算机的大多数的答案~学计算机的好地方 “你的方法我试过了,好像不行”不知道你为什么会不成功,// wordtohtml.cpp : Defines the entry point for the console application.//#include "stdafx.h"#import "G:\Program Files\Microsoft Office\Office11\MSWORD.OLB" named_guids raw_interfaces_only rename("ExitWindows", "wordExitWindows")void wordtohtml(){ printf("Automate word to save xxx.doc as onega.htm, test by masterz with VC.NET2003 on Windowx2003, Office2003\n"); Word::_ApplicationPtr app; app.CreateInstance("Word.Application"); Word::DocumentsPtr docs; app->get_Documents(&docs); Word::_DocumentPtr doc; _variant_t vFileName("c:\\a.doc"); _variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); _variant_t vTrue(VARIANT_TRUE); _variant_t vFalse(VARIANT_FALSE); docs->Open ( /*[in]*/&vFileName, /*[in] VARIANT * ConfirmConversions*/&vOptional, /*[in] VARIANT * ReadOnly*/&vOptional, /*[in] VARIANT * AddToRecentFiles*/&vOptional, /*[in] VARIANT * PasswordDocument*/&vOptional, /*[in] VARIANT * PasswordTemplate*/&vOptional, /*[in] VARIANT * Revert*/&vOptional, /*[in] VARIANT * WritePasswordDocument*/&vOptional, /*[in] VARIANT * WritePasswordTemplate*/&vOptional, /*[in] VARIANT * Format*/&vOptional, /*[in] VARIANT * Encoding*/&vOptional, /*[in] VARIANT * Visible*/&vOptional, /*[in] VARIANT * OpenAndRepair*/&vOptional, /*[in] VARIANT * DocumentDirection*/&vOptional, /*[in] VARIANT * NoEncodingDialog*/&vOptional, /*[in] VARIANT * XMLTransform*/&vOptional , /*[out,retval]*/ &doc ); _variant_t vCopies((short)1); DeleteFile("c:\\onega.htm"); _variant_t filename("c:\\onega.htm"); _variant_t FileFormat((long)Word::wdFormatHTML); doc->SaveAs (&filename,&FileFormat); doc->put_Saved(VARIANT_TRUE); app->Quit(&vOptional,&vOptional,&vOptional);}int _tmain(int argc, _TCHAR* argv[]){ CoInitialize(NULL); wordtohtml(); CoUninitialize(); return 0;} 读取 word转为byte 再用Response.Charset="GB2312"; Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "text/html"; Response.BinaryWrite();的方式输出 关于获取窗体然后传参 数据库驱动程序在哪里进行设置 怎么用vc程序区改变另一个程序的窗口大小? winsocket和winsocket2的主要区别是什么? 在对话框中使用GDI+ 的问题 windows Socket 编程收来自嵌入式设备的网络数据 是否可以不检测数据报的 checksum 请教有关AT命令的问题 70分,请教:局域网内一对多通信? 请问:如何将CString 类中的数据赋给char*变量? ADO连接数据库Debug调试报:Run-Time Check Failure 有关Combo Box 在vc6里面一用stl,就满屏的警告,太恐怖了
参考下面的代码
////////////////////////////Print Document at background
#include "stdafx.h"
#import "E:\Program Files\Microsoft Office\Office10\MSWORD.OLB" named_guids raw_interfaces_only rename("ExitWindows", "wordExitWindows")
void wordprint()
{
Word::_ApplicationPtr app;
app.CreateInstance("Word.Application");
Word::DocumentsPtr docs;
app->get_Documents(&docs);
Word::_DocumentPtr doc;
_variant_t vFileName("c:\\a.doc");
_variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
_variant_t vTrue(VARIANT_TRUE);
_variant_t vFalse(VARIANT_FALSE);
docs->Open (
/*[in]*/&vFileName,
/*[in] VARIANT * ConfirmConversions*/&vOptional,
/*[in] VARIANT * ReadOnly*/&vOptional,
/*[in] VARIANT * AddToRecentFiles*/&vOptional,
/*[in] VARIANT * PasswordDocument*/&vOptional,
/*[in] VARIANT * PasswordTemplate*/&vOptional,
/*[in] VARIANT * Revert*/&vOptional,
/*[in] VARIANT * WritePasswordDocument*/&vOptional,
/*[in] VARIANT * WritePasswordTemplate*/&vOptional,
/*[in] VARIANT * Format*/&vOptional,
/*[in] VARIANT * Encoding*/&vOptional,
/*[in] VARIANT * Visible*/&vOptional,
/*[in] VARIANT * OpenAndRepair*/&vOptional,
/*[in] VARIANT * DocumentDirection*/&vOptional,
/*[in] VARIANT * NoEncodingDialog*/&vOptional,
/*[out,retval]*/ &doc );
_variant_t vCopies((short)1);
app->PrintOut (
/*[in] VARIANT * Background = &vtMissing*/ &vTrue ,
/*[in] VARIANT * Append = &vtMissing*/&vOptional ,
/*[in] VARIANT * Range = &vtMissing*/ &vOptional ,
/*[in] VARIANT * OutputFileName = &vtMissing*/&vOptional ,
/*[in] VARIANT * From = &vtMissing*/ &vOptional,
/*[in] VARIANT * To = &vtMissing*/ &vOptional,
/*[in] VARIANT * Item = &vtMissing*/ &vOptional,
/*[in] VARIANT * Copies = &vtMissing*/&vCopies ,
/*[in] VARIANT * Pages = &vtMissing*/ &vOptional,
/*[in] VARIANT * PageType = &vtMissing*/&vOptional ,
/*[in] VARIANT * PrintToFile = &vtMissing*/ &vFalse,
/*[in] VARIANT * Collate = &vtMissing*/ &vOptional,
/*[in] VARIANT * FileName = &vtMissing*/ &vOptional,
/*[in] VARIANT * ActivePrinterMacGX = &vtMissing*/ &vOptional,
/*[in] VARIANT * ManualDuplexPrint = &vtMissing*/&vOptional ,
/*[in] VARIANT * PrintZoomColumn = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomRow = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomPaperWidth = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomPaperHeight = &vtMissing*/ &vOptional) ;
Sleep(3000);
app->Quit(&vOptional,&vOptional,&vOptional);}
int _tmain(int argc, _TCHAR* argv[])
{
printf("Automate word to print a document, test by masterz with VC.NET2003 on WindowXP, OfficeXP\n");
CoInitialize(NULL);
wordprint();
CoUninitialize();
return 0;
}
to masterz(www.fruitfruit.com)
你的方法我试过了,好像不行
不知道你为什么会不成功,
// wordtohtml.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#import "G:\Program Files\Microsoft Office\Office11\MSWORD.OLB" named_guids raw_interfaces_only rename("ExitWindows", "wordExitWindows")
void wordtohtml()
{
printf("Automate word to save xxx.doc as onega.htm, test by masterz with VC.NET2003 on Windowx2003, Office2003\n");
Word::_ApplicationPtr app;
app.CreateInstance("Word.Application");
Word::DocumentsPtr docs;
app->get_Documents(&docs);
Word::_DocumentPtr doc;
_variant_t vFileName("c:\\a.doc");
_variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
_variant_t vTrue(VARIANT_TRUE);
_variant_t vFalse(VARIANT_FALSE);
docs->Open (
/*[in]*/&vFileName,
/*[in] VARIANT * ConfirmConversions*/&vOptional,
/*[in] VARIANT * ReadOnly*/&vOptional,
/*[in] VARIANT * AddToRecentFiles*/&vOptional,
/*[in] VARIANT * PasswordDocument*/&vOptional,
/*[in] VARIANT * PasswordTemplate*/&vOptional,
/*[in] VARIANT * Revert*/&vOptional,
/*[in] VARIANT * WritePasswordDocument*/&vOptional,
/*[in] VARIANT * WritePasswordTemplate*/&vOptional,
/*[in] VARIANT * Format*/&vOptional,
/*[in] VARIANT * Encoding*/&vOptional,
/*[in] VARIANT * Visible*/&vOptional,
/*[in] VARIANT * OpenAndRepair*/&vOptional,
/*[in] VARIANT * DocumentDirection*/&vOptional,
/*[in] VARIANT * NoEncodingDialog*/&vOptional,
/*[in] VARIANT * XMLTransform*/&vOptional ,
/*[out,retval]*/ &doc );
_variant_t vCopies((short)1);
DeleteFile("c:\\onega.htm");
_variant_t filename("c:\\onega.htm");
_variant_t FileFormat((long)Word::wdFormatHTML);
doc->SaveAs (&filename,&FileFormat);
doc->put_Saved(VARIANT_TRUE);
app->Quit(&vOptional,&vOptional,&vOptional);}
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
wordtohtml();
CoUninitialize();
return 0;
}
Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/html";
Response.BinaryWrite();的方式输出