最近寫用C++生成doc檔案。學習了一些人的帖子,基本上都說word和wps是兼容的,加載APP時判斷一下就行。如下:
bool bWPS = true;
CApplication wordApp;
if (!wordApp.CreateDispatch(_T("kwps.Application")))
{
bWPS = false;
if (!wordApp.CreateDispatch(_T("Word.Application")))
{
AfxMessageBox(_T("本機沒有安裝WPS或word產品!"));
return;
}
}
我按這個思路些了一段程式,將word檔案中的書簽更新成需要的內容。在安裝word的情況下運行很正常。但卸載掉word,安裝WPS時發現有兩處不兼容。
第一、創建檔案時兩者的結果不一樣。代碼如下:
CString dot = _T("d:\\tmp\\1.doc");
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR),
docx = docs.Add(dot, covOptional, covOptional, covOptional);
word情況下檔案名為“1.doc”;而wps情況下是“文字文稿1”.
第二,保存檔案時也不同。代碼如下:
docx.SaveAs(COleVariant(dot), covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional);
word情況下保存成功;而wps情況下保存失敗,程式中斷(拋出錯誤失敗)。
哪位大俠寫過WPS生成doc檔案請指點一下。q:807317689
uj5u.com熱心網友回復:
已解決。word和wps處理模板檔案方式是不同的。docs.Add(dot...) 是以dot檔案作為模板檔案。word呼叫Add后就關閉dot檔案了。而wps中dot檔案是打開的。所以保存dot檔案時有差異。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24057.html
標籤:新手樂園
上一篇:c語言,新手求大神指點
