首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过VB6以只读方式打开Excel工作簿

通过VB6以只读方式打开Excel工作簿
EN

Stack Overflow用户
提问于 2010-06-22 04:14:47
回答 3查看 7.4K关注 0票数 3

我有一个用VB6编写的应用程序,可以将数据写入电子表格。我正在使用MS Excel 11.0对象库创建一个Excel实例并打开该书:

代码语言:javascript
复制
Dim xlApp As Excel.Application, remoteBook As Workbook
Set xlApp = New Excel.Application
Set remoteBook = xlApp.Workbooks.Open(sheetName)

除了写入工作簿"sheetName“之外,该程序还允许用户启动工作簿以查看累积结果。

用户有可能打开工作簿以查看结果,而其他人正在尝试向其写入内容,无论这种可能性有多小。我想给用户写工作表的优先级。是否有方法可以启动工作表以只读方式查看?excel应用程序对象有一个只读属性,但它(当然)是只读的。

如何设置我的程序以将数据写入工作簿,即使有人意外地将文件打开在他们的办公桌上?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-22 04:19:30

只需执行以下操作:

代码语言:javascript
复制
Set remoteBook = xlApp.Workbooks.Open( sheetName, , true)

其中true表示是否以只读方式打开。ReadOnly是此方法的第三个参数。

票数 5
EN

Stack Overflow用户

发布于 2010-06-22 04:20:47

我认为您可以通过here中描述的Workbook.ChangeFileAccess方法来完成此任务。不过,我不确定它是否适合您的环境。

票数 0
EN

Stack Overflow用户

发布于 2010-06-22 04:35:46

让我确保我正确地解释了您的问题:

  1. 您的应用程序会写入excel文件
  2. 应用程序会将Excel中的文件启动到用户

现在,我想你是在说:一旦用户查看了工作表,他们可能想要也可能不想编辑该工作表。

换句话说,你不想使用

代码语言:javascript
复制
Set remoteBook = xlApp.Workbooks.Open( sheetName, , true)

100%的时间,因为查看的用户可能想要改变数据。

缺点是,这个卑劣的用户可能会让文件保持打开状态,以防止其他用户写入该文件。

对吗?

如果是这样,听起来您可能需要在您的应用程序中显式地将状态设置为"Open for viewing“或"open for read- Only”访问,然后适当地切换Read Only属性;这可能是不可取的。

但是,一旦其他人打开了office文档,您就不能强制保存它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3088186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档