【发布时间】:2016-07-01 09:10:35
【问题描述】:
我有一个简单的问题,但我已经搜索过,但找不到任何有用的主题..
我正在开发一个 VBScript,它可以打开一个 Excel 文件并修改其中的一些内容。所以我正在使用以下代码:
Set objXLApp = CreateObject("Excel.Application")
objXLApp.Visible = False
objXLApp.DisplayAlerts = False
Set objXLWb = objXLApp.Workbooks.Open(FilePath)
现在,我要做的是使用一种锁定文件的方式打开 Excel 文件,并防止用户在脚本打开它时打开它(直到它被关闭)。
更新:
我认为问题在某种程度上与 Excel 实例有关,我尝试执行以下操作(当文件由脚本打开时):
- 当我手动打开文件时(当它被脚本打开时)它们都变成了一个实例。
- 当我打开任何其他 Excel 文件时,它们都也成为一个实例!!!并且原始文件(由脚本打开)变得可见!
现在这很奇怪,因为我使用的是 CreateObject("Excel.Application") 而不是 GetObject(, "Excel.Application")
【问题讨论】:
-
将 Excel 文件临时移动到一个特殊文件夹中,打开它,修改其中的一些内容,然后保存,关闭并移回 :)
-
我想这样做是一种解决方法,但我想知道是否有直接的方法可以专门打开文件
-
如果文件被脚本打开,它只会对任何其他打开它的尝试是只读的。你还想限制这个吗?
-
@brettdj 这似乎不正确..当我使用问题中的代码打开 excel 文件(通过脚本)时,我可以双击该文件并正常打开(我可以编辑任何东西并保存)
-
添加了excel-vba标签以增加受众,并且可以将vba转换为vbs。
标签: excel vbscript com dde vba