use*_*330 4 excel vba ribbon excel-2010 ribbon-control
我在 Excel 上创建了一个自定义功能区选项卡,例如Excel_app_v1.xlsm,并且此功能区选项卡下的按钮连接到宏。因此,当我单击此按钮时,宏会执行一些表导入应用程序。
第一件奇怪的事情是,我只为这个 Excel 文件创建了这个功能区选项卡和按钮,但功能区选项卡和按钮出现在所有其他 Excel 文件中,即使原始 Excel 文件Excel_app_v1.xlsm没有打开。
第二个问题是我使用“另存为”选项创建了先前 Excel 文件的第二个版本。所以新的 Excel 文件就像Excel_app_v2.xlsm. 当我单击功能区选项卡下的按钮时,它会打开第一个 Excel 文件Excel_app_v1.xlsm,即使它尚未打开。我删除了第一个 Excel 文件,但随后出现“无法Excel_app_v1.xlsm在路径上找到”之类的错误。
显然,自定义功能区选项卡下的宏按钮链接到第一个 Excel 文件,但我找不到更改此设置的菜单选项。我在vba代码中添加了ThisWorkbook所有sheet表达式,但并没有解决问题。单击按钮仍在尝试打开旧的 Excel 文件。
VBA 代码如下。该按钮链接到Sub ImportTable。首先,它询问用户是否想要继续该过程。单击该按钮后,它会立即打开以前的 Excel 文件,同时出现消息框。
Sub ImportTable()
Application.ScreenUpdating = False
YearMonth = ThisWorkbook.Sheets("tab1").Cells(11, 2).Value
' The Macro button opens the previous Excel file before clicking Yes or No on the message box
answer = MsgBox("Warning! Brings the newest source file. You want to continue?", vbYesNo + vbQuestion, "")
If answer = vbYes Then
RunSASCodeViaBatFile ' Another Sub which runs bat file to run a SAS-code. But it doesn't matter. Because the problem happens before I click on Yes or No.
InsertSASFileIntoExcel
Else ' Nothing happens if clicking No on the Message Box
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
roncruiser 在下面发布了快速解决此问题的线索,但有一点小小的改动。
网络上的每个人似乎都觉得这PERSONAL.XLSB是关键——不。事实上,使用该文件只会让我困惑更长时间。这是我所做的:
打开生成的文件,并编辑掉对另一个文件的违规引用,这些引用给您带来了如此多的痛苦 - 例如:
<mso:button idQ="x1:HideRows_0_EA10D6" label="HideRows" imageMso="_3DPerspectiveDecrease" onAction="!HideRows" visible="true"/>
Run Code Online (Sandbox Code Playgroud)
我取出了idQ-"x1...宏实际名称之后的所有内容。onAction="...我还取出了在Take everything up to the bang mark中找到的相同外部参考。
将其保存在您想要的任何名称下,但具有相同的扩展名(对于我的设置,它被称为ExportedCustomizations.exportedUI(是的,那么长的扩展名));
在此处重复前几个步骤,但这次导入您编辑的文件。
瞧,一切都是金色的。
不必浪费时间清理现有工作并从头开始。对我来说很有魅力,所以给 roncruiser 一个很大的提示,以获取线索。
| 归档时间: |
|
| 查看次数: |
9909 次 |
| 最近记录: |