如何修复“运行时错误1004,对象“ _Application”的方法“ Width”失败”

时间:2019-07-11 23:31:34

标签: excel vba

我有一个代码,该代码应在打开应用程序时管理Excel工作簿的显示大小,并在该工作簿中选择一个特定的工作表。希望保留其他桌面/应用程序可用的尽可能多的桌面。工作簿中的两个工作表受到保护,其中一个是我要在打开文件时显示的工作表。但是我不认为工作表必须受到保护以调整应用程序窗口的大小。我添加此信息是因为您比我聪明。     我从开发人员标签创建了此代码,然后选择“记录宏”。最初它运行良好,但是向客户展示我的工作簿时,我开始遇到问题,并且他们已经打开了其他excel文件。现在,有时,当我只打开一个包含该宏的excel文件时,出现以下错误。     当我打开文件时,出现“运行时错误:'1004':对象“应用程序”的方法“宽度”失败“。

我正在使用Excel 2016。    我认为,如果先选择文件或先将文件带到前台,就可以解决问题,但是我还不知道该怎么做,我整整一周都在努力寻找/找到解决方案。 / p>

感谢您抽出宝贵的时间对此进行审查。

在这里找到一些类似的问题之后,我尝试将以下代码行从以下位置更改:

Application.Width = 677.25

收件人:

Application.ThisWorkbook.Width = 677.25

,并且错误。 (运行时错误'438':对象不支持属性或方法)

代码/宏在“ ThisWorkbook”文件中(在VBAProject下,在excel对象下)。

Private Sub Workbook_Open()
    Application.Width = 677.25
    Application.Height = 663
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False
    Application.Width = 641.25
    Application.Height = 468
    Sheets("Watch").Select
End Sub

此代码的目的是调整文件在打开时的显示大小,并确保可以看到“监视”工作表。

1 个答案:

答案 0 :(得分:0)

在使用Application.WindowState = xlNormalApplication.Width之前先添加Application.Height

如果Excel应用程序窗口已最大化,则无法对其进行修改。

如果将Excel最小化,并且满足以下条件:Application.WindowState = xlMinimized,则设置宽度或高度不会导致错误,但是即使以后手动更改该值也不会对窗口的大小产生任何影响。显示从最小到正常。