返回列表 发帖
本帖最后由 yu2n 于 2014-9-20 22:14 编辑

【查询VBA常量】
1. 打开Word,按 Alt + F11 进入Word VBA。
2. 按 Ctrl + G 打开 “立即窗口” ,输入要查询的常量,然后按回车。例如:
?msoEncodingSimplifiedChineseGBKCOPY
3. 得到返回值 936

【在VBS中使用VBA常量】
在VBS代码头部(函数头部)定义该常量,如下:
Const msoEncodingSimplifiedChineseGBK = 936COPY
1

评分人数

『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 5# 普大喜奔
印象中doc文件本身不区分编码,最起码用Word打开时不需要指定编码。
建议这样写。
下面的例子是读出 D:\1.doc 的文档内容:
Set objWord = Word_Init()
Set objDoc = objWord.Documents.Open("D:\1.doc")
strContent = objDoc.Content
objDoc.Close False
objWord.Quit
Msgbox "Word 的内容是:" & strContentCOPY
objWord 对象可以这样创建:
' 创建 Word 对象
Function Word_Init()
  Const msoAutomationSecurityForceDisable = 3
  Set objWord = CreateObject("Word.Application")
  If Not Err.Number = 0 Then
    Msgbox "错误:无法创建 Word 对象,你可能没有安装 Office 。"
    WScript.Quit(999)
  End If
  If Not objWord.Application.Version >= 12.0 Then
    Msgbox "警告:请使用 Office 2007 以上版本。"
  End If
  ' 隐藏运行,屏蔽提示
  objWord.Visible = False
  objWord.DisplayAlerts = False
  ' 禁用以编程方式打开的所有文件中的所有宏,而不显示任何安全警告。
  ' VBA打开文件时(临时)禁用宏
  ' http://club.excelhome.net/thread-1001802-1-1.html
  objWord.AutomationSecurity = msoAutomationSecurityForceDisable
  Set Word_Init = objWord
End FunctionCOPY
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 7# 普大喜奔

在 Word 中打开 Doc 文档,应该是不会出现选择编码窗口的。

除非你打开的是其他类型的文件,比如文本(txt/vbs/log/bat)文件。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

返回列表