使用宏从工作簿创建工作簿并发送到另一台计算机

时间:2016-01-27 23:52:23

标签: excel vba excel-vba

我有一个宏,可以创建带有一些按钮的工作簿,并将Excel工作表中的信息拉入其中。

宏在创建它的计算机上运行时有效。如果我将新创建的文件发送到另一台计算机,它会要求我更新数据源,如果我选择不更新按钮则不起作用。如果我选择更新它,则表示无法提交personal.xlsb文件。

为什么宏不工作?我想我的主要问题是,如果我创建一个带有下拉菜单和按钮的新工作表,有没有办法将它保存到新文件中,并使用它们将使用的功能?

以下是我的一些代码:

'Create New Workbook
Function AddNew() As Workbook
Set AddNew = Workbooks.Add()
Wname = ActiveWorkbook.name
Wname = Left(Wname, Len(Wname) - 5)
With AddNew
.SaveAs Filename:=Wname & ".xlsx"
End With
nwrkbksaved = True
End Function

'Run the create new Workbook function and pull information to new sheet
Public Sub TemplateCreate()
Set thisWB = ActiveWorkbook
'Set up template for new workbook
Set NewBook.Workbook = AddNew

'Check to see if New Workbook exists
If nwrkbksaved = False Then GoTo term

'Pull information code

Set btn = NewBook.Workbook.Sheets("sheet1").Buttons.Add(Range("F15").Left, Range("F15").Top, 165, 15)
With btn
    .OnAction = "getData"
    .Caption = "Submit"
    .name = "submitData"
End With

End Sub

Function getData()
'Get data code
End Function

1 个答案:

答案 0 :(得分:1)

您好,我能够找出这些信息。经过更多的研究后,我得到了答案,希望如果遇到这个问题会有所帮助:

我使用以下链接获取帮助http://www.cpearson.com/Excel/VBE.aspx

Dim ToVBProject As VBIDE.VBProject
Dim FromVBProject As VBIDE.VBProject
Dim Fname As String

Fname = "Path of bas + bas name.bas"
FromVBProject.VBComponents("module").Export Fname
ToVBProject.VBComponents.Import (Fname)

再次感谢您的帮助!