【VBA】 将VBA代码插入Excel中

将VBA代码插入到非宏Excel的Sheet表代码中,常用于达到单元格SelectionChange的效果,其他意义不大。

使用目的:

(1)用户能够对SelectionChange事件的有效无效进行控制。
(2)可用于根据输入内容,进行数据库查询,将结果通过下拉框选择,方便用户填写。
(3)代码可以生效,也可以全身而退。不影响原Excel的格式,及用户的源文件,仍是xlsx格式,没问题。插入的代码只是匆匆过客。

使用方法:

(1)准备要插入的代码,可写好放在当前我们给用户准备的写好功能代码的带宏的Excel(如xlsm,以下简称程序)中,也可以将代码保存在本地txt等文件中,用于读取;
(2)将以下代码,放在程序中,然后,添加一段自动添加菜单的按钮。菜单中两个按钮对应以下两个过程名。(用户一般不会打开VBE界面运行代码,所以,需要在程序中给用户提供按钮,告诉他点击按钮,会生成菜单,菜单里一个是用于功能生效,一个是用于功能失效的。)
(3)用户打开程序,点击生成菜单按钮,菜单栏中出现两个按钮,用户点击Addit对应的菜单,代码生效;点击Endit对应的菜单,代码失效。

'Addit 插入代码
'Endit 删除代码

Sub Addit()
    ActiveWorkbook.VBProject.VBComponents.Item(ActiveSheet.CodeName).CodeModule.AddFromString _
    '从此工作簿中的模块中导入代码 指定行(1-1000)
    ThisWorkbook.VBProject.VBComponents.Item("ModuleName").CodeModule.Lines(1, 1000)

	'从文件载入用此段代码
    'ActiveWorkbook.VBProject.VBComponents.Item(ActiveSheet.CodeName).CodeModule.AddFromFile "FileName"

End Sub

Sub Endit()
    With ActiveWorkbook.VBProject.VBComponents.Item(ActiveSheet.CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
	'删除第1行到最后1行代码,即全部删除。
    End With
End Sub


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CAD使用VBAExcel插入到CAD图纸是相当简单的。 首先,确保已经正确安装了AutoCAD和Excel软件,并在AutoCAD启用了VBA宏。 在AutoCAD,按下ALT + F11键打开VBA编辑器。然后,在VBA编辑器,选择“插入”选项卡,点击“模块”。在新建模块窗口,输入以下代码: ``` Sub InsertExcelTable() Dim ExcelApp As Object Set ExcelApp = CreateObject("Excel.Application") Dim ExcelBook As Object Set ExcelBook = ExcelApp.Workbooks.Open("C:\路径\文件名.xls") Dim ExcelSheet As Object Set ExcelSheet = ExcelBook.Sheets("Sheet1") '设置插入的起点坐标 Dim insertionPoint(0 To 2) As Double insertionPoint(0) = 0 insertionPoint(1) = 0 insertionPoint(2) = 0 '设置插入的尺寸 Dim tableSize(0 To 1) As Double tableSize(0) = 20 tableSize(1) = 10 '在CAD创建一个格对象 Dim tableObj As AcadTable Set tableObj = ThisDrawing.ModelSpace.AddTable(insertionPoint, tableSize(0), tableSize(1), ExcelSheet.Rows.Count, ExcelSheet.Columns.Count) '将Excel格数据复制到CAD格对象 Dim i As Long, j As Integer For i = 1 To ExcelSheet.Rows.Count For j = 1 To ExcelSheet.Columns.Count tableObj.SetText i - 1, j - 1, ExcelSheet.Cells(i, j).Value Next j Next i '关闭并保存Excel文件 ExcelBook.Close SaveChanges:=False '清除对象 Set ExcelSheet = Nothing Set ExcelBook = Nothing Set ExcelApp = Nothing Set tableObj = Nothing End Sub ``` 在代码,需要修改文件路径和文件名来指定要插入Excel文件。如果你想要插入格不在Sheet1,还需要修改代码的`ExcelSheet.Sheets("Sheet1")`。 运行这个宏,格将会被插入到CAD图纸。根据需要,可以调整插入的起点坐标和尺寸。 ### 回答2: 在CAD使用VBAExcel插入,可以使用以下步骤: 1. 首先,确保已经在CAD启用了VBA编程环境。在CAD的“工具”菜单选择“宏”-“Visual Basic Editor”,即可打开VBA编辑器。 2. 在VBA编辑器,选择“插入”菜单的“用户窗体”,以创建一个用户窗体。可以根据需要调整窗体的大小和位置。 3. 在用户窗体上添加一个“命令按钮”,并双击它以打开代码编辑器。 4. 在代码编辑器,使用以下代码Excel插入到CAD: ``` Sub InsertExcelTable() Dim excelObj As Object Dim excelFile As String excelFile = "C:\路径\文件名.xls" '需插入Excel文件路径和文件名 Set excelObj = CreateObject("Excel.Application") excelObj.Workbooks.Open excelFile excelObj.ActiveSheet.Cells.Copy '复制Excel格 ThisDrawing.PasteSpecial acPaste '在CAD粘贴excelObj.ActiveWorkbook.Close SaveChanges:=False excelObj.Quit Set excelObj = Nothing End Sub ``` 5. 在代码编辑器选择“文件”菜单的“保存”以保存代码,并关闭VBA编辑器。 6. 回到CAD界面,在命令行输入“vba”并按下Enter键,以打开VBA控制台。 7. 在VBA控制台,输入命令“vbarun”并按下Enter键,然后选择之前创建的宏(例如“InsertExcelTable”)并按下Enter键,即可执行宏。 这样,Excel格就会被插入到CAD。可以根据需要调整格的位置和大小。 ### 回答3: 在CAD使用VBAExcel插入到CAD图纸,可以按照以下步骤进行操作: 1. 首先,在CAD软件打开VBA编辑器。在菜单栏选择“工具”,然后选择“编辑VBA项目”。 2. 在VBA编辑器,右键点击左侧的“本地工程”目录,选择“插入” - “模块”,新建一个模块。 3. 在新建模块编写VBA代码,用于将Excel插入到CAD图纸。可以使用CAD的对象模型来访问CAD的各个对象和属性,同时也可以使用Excel的对象模型来访问Excel格的数据。 以下是一个简单的示例代码,用于将Excel插入到CAD图纸: Sub InsertExcelTableToCAD() Dim objExcel As Object Dim objWorkbook As Object Dim objSheet As Object Dim strFilePath As String '打开Excel文件 strFilePath = "C:\Path\to\Your\Excel\File.xlsx" Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open(strFilePath) Set objSheet = objWorkbook.Sheets(1) '在CAD插入Excel格 Dim objInsert As Object Set objInsert = ThisDrawing.ActiveLayout.Block.InsertBlock(ThisDrawing.ModelSpace, "Excel.Table", 1, 1, 1, 1, 0) objInsert.SourceFileName = strFilePath objInsert.Update '关闭Excel文件 objWorkbook.Close False objExcel.Quit Set objSheet = Nothing Set objWorkbook = Nothing Set objExcel = Nothing Set objInsert = Nothing End Sub 注意:上述代码的文件路径需要根据实际情况进行修改,确保路径正确。 4. 在VBA编辑器点击运行按钮,或直接按下F5键,以执行代码。此时,Excel格将被插入到CAD图纸。 通过上述步骤,我们可以在CAD使用VBAExcel插入到CAD图纸。根据实际需求,我们还可以根据格的数据进行进一步的CAD绘图处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值