我需要将一个工作簿添加到Xlam文件(加载项)。这个想法很简单,运行一个宏,然后显示/打开新的工作簿。 可以建议以下代码:
Workbooks.Open "\\someNetworkDrive\myworkbook.xlsx"
不同的用户将工作簿存储在不同的路径中。所以上面的解决方案不起作用。 (此外,用户可能没有工作簿)是否有人知道将xlsx文件附加到xlam文件的方法?
另一种方法是将此工作簿存储在类型工作簿的VBA变量中,然后在运行宏时显示/打开它。但我不知道如何将已创建的工作簿存储到VBA代码中。
有什么想法吗?
答案 0 :(得分:1)
保存代码过于复杂,只需要求用户找到工作簿:
Sub SO()
Dim fileLocation As String
Dim myWB As Excel.Workbook
fileLocation = Application.GetOpenFileName("Excel Workbook (*.xlsx), *.xlsx")
If Not UCase(fileLocaation) = "FALSE" And Not fileLocation = vbNullString Then
Set myWB = Workbooks.Open(fileLocation)
End If
End Sub
答案 1 :(得分:1)
如果您需要一个工作簿解决方案,那么您需要将工作表嵌入到xlam中,然后创建一个新工作簿并将工作表等复制到其中。您可以只在XLAM中存储格式和公式等,然后XLAM中的VBA代码使用它们来创建新工作簿。 如果要创建可变数量的行等,此方法很有效。