【问题标题】:VBA can't open excel (Too many different cell formats.)VBA 无法打开 excel(不同的单元格格式太多。)
【发布时间】:2014-07-14 18:07:44
【问题描述】:

我有一个 vba 宏来打开 excel 和读取数据。

Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set excelworkbook = xlApp.Workbooks.Open(file_path, ReadOnly:=True, notify:=False)

第三行出现错误“太多不同的单元格格式”。我认为这是因为单元格格式(字体、边框等),有谁知道如何以编程方式解决这个问题?当我尝试手动打开 excel 时没有出现错误。任何意见,将不胜感激。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    代替您的代码,尝试这样做:

    Dim excelWorkbook As Excel.Workbook
    Set excelWorkbook = Excel.Workbooks.Open(file_path, ReadOnly:=True, Notify:=False)
    

    如果它仍然给您带来麻烦,也许添加这些会有所帮助:

    Application.DisplayAlerts = False
    ' Application.ScreenUpdating = False ' Optional, might not be necessary.
    

    请记住之后将它们设置回默认值。

    【讨论】:

    • 嗨,我已将 displayAlerts 设置为 false,但仍然出现相同的错误。有什么建议吗?
    • 即使使用我发布的代码?嗯...尝试不使用 ReadOnlyNotify 参数,看看它是否有任何区别。除此之外,我不知道我害怕。我在自己的项目中多次使用上面的代码没有任何问题,所以我不确定你的工作簿有什么不同。
    • @bananaLeaf:你可能已经看到了,但如果没有,this SO question 似乎是相关的,并且有许多潜在的解决方案可供尝试。
    • 我尝试不使用只读和通知参数,但仍然没有运气。我遇到问题的文件只有 3 个电子表格,但每个都有多行标题,带有背景颜色和过滤器以及许多不同的单元格格式。我看过这篇文章,但我的项目是基于 ms 访问的。我的代码甚至无法打开文件,更不用说以编程方式更改格式了。
    • 这也可能是excel 2003默认打开文件造成的。你知道如何使用 vba 将 2010 设置为默认值吗?非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    相关资源
    最近更新 更多