zoukankan      html  css  js  c++  java
  • 【VSTO】Office开发中遇到的兼容性检查问题

    事情是这样的:

    我们的一个应用程序需要通过VSTO代码方式操作本地的Excel,包括打开工作簿,生成新的工作簿,设置数据,并且保存为新文件等等。

    该程序在Excel 2003的环境下没有任何问题,但是在Excel 2007或者是Excel 2010中就老是遇到中途被卡住的状况。

    究其原因,是因为我们想将文件继续保存为Excel 2003格式,但Excel 2007或者Excel 2010默认会有一个兼容性检查的功能。如下

    image

    如果将“Check compatiblity when saving this workbook”的选项关闭,则问题可以解决。

    但是,如果你无法确保用户那边关闭了该选项,也可以通过程序的方式临时关闭检查

    有两种方式实现这样的需求

    第一种:在Application级别关闭警告

            If (app Is Nothing) Then
                app = New Excel.Application
                app.Interactive = False
                app.UserControl = False
                app.DisplayAlerts = False
                app.Visible = False
                app.ScreenUpdating = False
            End If

    第二种:在Workbook级别关闭警告

    wb.CheckCompatibility=False
     
     
    还有一个情况就是,如果你关闭了警告(不管是手工地,还是代码关闭),却又想恢复该选项。要按照下面这样做
     
    image
    在上面的对话框中,点击“Check Compatibility”,你将可以继续勾选上这个选项。
    image
  • 相关阅读:
    模板方法模式
    外观模式
    《那些年啊,那些事——一个程序员的奋斗史》——128 (终章)
    《那些年啊,那些事——一个程序员的奋斗史》——127
    《那些年啊,那些事——一个程序员的奋斗史》——127
    分布式系统开发里必须要解决的3个技术问题
    《那些年啊,那些事——一个程序员的奋斗史》——128 (终章)
    列举几种系统调用
    linux core文件设置
    《那些年啊,那些事——一个程序员的奋斗史》——127
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/2075050.html
Copyright © 2011-2022 走看看