我有一个代码,该代码应在打开应用程序时管理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
此代码的目的是调整文件在打开时的显示大小,并确保可以看到“监视”工作表。
答案 0 :(得分:0)
在使用Application.WindowState = xlNormal
或Application.Width
之前先添加Application.Height
。
如果Excel应用程序窗口已最大化,则无法对其进行修改。
如果将Excel最小化,并且满足以下条件:Application.WindowState = xlMinimized
,则设置宽度或高度不会导致错误,但是即使以后手动更改该值也不会对窗口的大小产生任何影响。显示从最小到正常。