当前位置: 代码迷 >> VFP >> 小弟我用以下代码将dbf中的数据导入word,请教怎么定义word的位置和内容的标题
  详细解决方案

小弟我用以下代码将dbf中的数据导入word,请教怎么定义word的位置和内容的标题

热度:8423   发布时间:2013-02-26 00:00:00.0
我用以下代码将dbf中的数据导入word,请问如何定义word的位置和内容的标题。

我用以下代码将dbf中的数据导入word,生成的是c:\Xwy.doc ,其内容的 标题为数据表的名称。

请问:1)我如何自定义word的目录和标题。就是放在系统的目录下的word文件夹中。(+sys(5)+curdir()+"word")
  2)生成的word内容的标题是数据表的名称,请问如何自定义。


IF EMPTY(ALIAS())
MessageBox( "当前工作区没有打开工作表!",48,"不能生成表格")
ENDIF
WAIT "正在访问 Word 软件……" WINDOW NOWAIT 
WordApp=CREATEOBJECT("Word.application") &&访问WORD
If Type("WordApp")#"O"
WAIT CLEAR 
MessageBox( "访问Word失败!请检查你的系统是否正确安装 Word 软件!",48,"没有安装Word")
RETURN
ENDIF
WAIT "正在生成表格……" WINDOW NOWAIT 
WordApp.Visible =.t.&&是否显示导入过程
WordApp.Caption ='yafox.com'
WordApp.Documents.Add
WordApp.Documents(1).Range.Text=ALIAS()
WordApp.Documents(1).Range.Font.Size=15
WordApp.Documents(1).Range.Font.Name="黑体"
WordApp.Documents(1).Range.Paragraphs.Alignment= 1
WordAppRang=WordApp.Documents(1).Range(LENC(WordApp.Documents(1).Range.Text)-1,LENC(WordApp.Documents(1).Range.Text)-1)
WordTable=WordApp.Documents(1).Tables.Add(WordAppRang,RECCOUNT()+1,FCOUNT())
WordTable.Range.Paragraphs.Alignment= 0
WordTable.Range.Font.Name="宋体"
WordTable.Range.Font.Size=11
WordTable.Borders.Enable=1
WordTable.Borders(1).LineWidth = 12
WordTable.Borders(2).LineWidth = 12
WordTable.Borders(3).LineWidth = 12
WordTable.Borders(4).LineWidth = 12
WordTable.Rows(1).Borders(3).LineWidth = 12
WordTable.Rows(1).Range.Font.Bold=.t.
WordTable.Rows(1).Cells.VerticalAlignment= 1
WordTable.Rows(1).Range.Paragraphs.Alignment = 1
WordTable.Rows(1).HeadingFormat=.t.

FOR i=1 TO FCOUNT()
WordTable.Cell(1,i).Range.Text=FIELD(i)
FOR i2=2 TO RECCOUNT()+1
GO i2-1
WordCellText=EVALUATE(FIELD(i))
DO CASE 
CASE ISNULL(WordCellText)
WordCellText=""
CASE TYPE("WordCellText")="N"
CASE TYPE("WordCellText")="D"
WordCellText=DTOC(WordCellText)
CASE TYPE("WordCellText")="T"
WordCellText=TTOC(WordCellText)
CASE EMPTY(WordCellText)
WordCellText=""
OTHERWISE 
* WordCellText=""
ENDCASE 
WordTable.Cell(i2,i).Range.Text=WordCellText
NEXT 
WordTable.Columns(i).AutoFit
NEXT
WordApp.Documents(1).SaveAs("c:\Xwy.doc")
WordApp.Quit
RELEASE WordApp
WAIT CLEAR 
MessageBox( "生成WORD文件完毕,文件位置 c:\Xwy.doc !",64,"完毕")
RETURN 




------解决方案--------------------------------------------------------
标题:
WordApp.Documents(1).Range.Text=ALIAS() &&将ALIAS()换成你想要的字符

要生成的文件位置
WordApp.Documents(1).SaveAs("c:\Xwy.doc") 
  相关解决方案