找回密码
 加入
搜索
查看: 4045|回复: 8

[AU3基础] [已解决]EXCEL函数操作EXCEL文件遇到更新链接提示如果解决?

  [复制链接]
发表于 2013-5-5 13:12:27 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2013-5-10 09:18 编辑

请教一个问题,EXCEL函数操作EXCEL文件时,如果EXCEL有外部链接的数据,则会弹出提示,询问用户是否更新链接。如果不手动选择,则程序停止不前,请教大家这种情况能否通过EXCEL的对象操作来避免这个问题?谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-5-5 16:47:11 | 显示全部楼层
Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
第二个参数设置成2


您可以在 UpdateLinks 參數中指定下列其中一個值,以決定檔案所使用的分隔符號字元:
值 意義
1 由使用者指定連結的更新方式
2 開啟這個活頁簿時永遠不要更新連結
3 開啟這個活頁簿時一定要更新連結
 楼主| 发表于 2013-5-5 18:15:04 | 显示全部楼层
您好!我是使用EXCEL自定义函数_ExcelBookOpen()来打开工作簿的,您说的方法我研究不出来怎么结合在一起。
或者必须采用Workbooks.Open来打开工作簿才能使用UpdateLinks参数呢,具体怎么用呢?
 楼主| 发表于 2013-5-5 18:36:04 | 显示全部楼层
Workbooks 对象的 Open 方法参数说明


打开一个工作簿。

expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

expression      必选。该表达式返回一个 Workbooks 对象。

FileName      String 类型,必需。要打开的工作簿的文件名。

UpdateLinks      Variant 类型,可选。指定文件中链接的更新方式。如果省略本参数,则提示用户选择链接的更新方式。否则,该参数的取值应为下表中的某个值。





含义



0

不更新任何引用。



1

更新外部引用,但不更新远程引用。



2

更新远程引用,但不更新外部引用。



3

同时更新远程引用和外部引用。


如果 Microsoft Excel 正在打开以 WKS、WK1 或 WK3 格式存储的文件并且 UpdateLinks 参数为 2,则 Microsoft Excel 根据与该文件关联的图形创建图表。如果该参数为 0,则不创建任何图表。

ReadOnly      Variant 类型,可选。如果该值为 True,则以只读模式打开工作簿。

Format      Variant 类型,可选。如果 Microsoft Excel 正在打开一个文本文件,则该参数用于指定分隔字符,如下表所示。如果省略本参数,则使用当前的分隔符。





分隔符



1

制表符



2

逗号



3

空格



4

分号



5

没有分隔符



6

自定义字符(请参阅 Delimiter 参数)


Password      Variant 类型,可选。该字符串指定打开一个受保护工作簿的密码。如果省略该参数并且指定工作簿已设置密码,则提示用户输入密码。

WriteResPassword      Variant 类型,可选。该字符串为一个写保护工作簿的写入权密码。如果省略该参数并且指定工作簿已设置密码,则提示用户输入密码。

IgnoreReadOnlyRecommended      Variant 类型,可选。如果该值为 True,则设置 Microsoft Excel 不显示建议只读消息(如果该工作簿以“建议只读”选项保存)。

Origin      Variant 类型,可选。如果该文件为文本文件,则该参数用于指示该文件来源于何种操作系统(以便正确映射代码页和回车/换行 (CR/LF))。可为以下 XlPlatform 常量之一:xlMacintosh、xlWindows 或 xlMSDOS。如果省略本参数,则使用当前操作系统。

Delimiter      Variant 类型,可选。如果该文件为文本文件并且 Format 参数为 6,则此参数用于指定用作分隔符的字符。例如,可使用 Chr(9) 代表制表符,使用“,”代表逗号,使用“;”代表分号或者使用自定义字符。如果该参数为字符串,则只使用该字符串的第一个字符。

Editable      Variant 类型,可选。如果该文件为 Microsoft Excel 4.0 加载宏,则该参数的值为 True 时可打开该加载宏以便在窗口中看到。如果该参数的值为 False 或者省略该参数,则该加载宏以隐藏方式打开,并且无法设为可见。本选项不能应用于由 Microsoft Excel 5.0 或更高版本的 Microsoft Excel 创建的加载宏。如果该文件是 Excel 模板,则参数的值为 True 时,会打开指定模板用于编辑。参数为 False 时,可根据指定模板打开新的工作簿。默认值为 False。

Notify      Variant 类型,可选。当该文件不能以可读写模式打开时,如果该参数的值为 True,则可将该文件添加到文件通知列表。Microsoft Excel 将以只读模式打开该文件并轮询文件通知列表,当文件通知列表中的该文件可用时通知用户。如果该参数的值为 False 或省略该参数,则不请求任何通知,并且不能打开任何不可用的文件。

Converter      Variant 类型,可选。打开文件时试用的第一个文件转换器的索引号。首先使用的是指定的文件转换器:如果该转换器不能识别此文件,则试用所有的转换器。转换器索引号由 FileConverters 属性返回的转换器行号组成。

AddToMru      Variant 类型,可选。如果该值为 True,则将该工作簿添加到最近使用的文件列表中。默认值为 False。

Local      Variant 类型,可选。如果该值为 True,则以 Microsoft Excel (包括控制面版设置)的语言保存文件。如果该值为 False(默认值),则以 Visual Basic for Applications (VBA) 的语言保存文件,其中 Visual Basic for Applications (VBA) 为典型安装的美国英语版本,除非 VBA 项目的 Workbooks.Open 来自旧的国际化的 XL5/95 VBA 项目。

CorruptLoad      Variant 类型,可选。可为以下常量之一:xlNormalLoad、xlRepairFile 和 xlExtractData。如果未指定任何值,则默认值通常为普通状态,但如果 Excel 已尝试打开该文件,则可以是安全加载或数据恢复状态。首选值为普通状态。如果 Excel 在打开文件时停止操作,则为安全加载状态。如果 Excel 再次停止操作,则为数据恢复状态。

这是网上找到的,和您讲的类似,不太明白怎么用。
 楼主| 发表于 2013-5-5 19:03:21 | 显示全部楼层
参照VBS打开EXCEL的方法,我是这样写的:
$oExcel = ObjCreate("excel.application")
$oExcel.Visible = True
$oExcel.Workbooks.Open("文件路径", "UpdateLinks" = 2)
经过测试能达到我的要求,但是我不知道这样写法对不对?或者有更简洁、科学的写法?
发表于 2013-5-6 11:24:21 | 显示全部楼层
$oExcel.Workbooks.Open("c:\1.xls",2)
类似这样写
 楼主| 发表于 2013-5-6 22:04:35 | 显示全部楼层
$oExcel.Workbooks.Open("c:\1.xls",2)
类似这样写
kevinch 发表于 2013-5-6 11:24


那样这样的话,$oExcel变量是什么内容?在EXCEL的UDF函数里,$oExcel一般用来表示打开一个文件。但是你这样已经不能这样定义了。
发表于 2013-5-6 22:18:54 | 显示全部楼层
跟5楼的一样
 楼主| 发表于 2013-5-6 23:51:19 | 显示全部楼层
回复 8# kevinch

哦,明白了。谢谢。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 10:34 , Processed in 0.080307 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表