Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Import and run Macro
Hi. The below code inserts VBA code via VBA code. The code it inserts is
code to Import a much larger procedure. So i was hoping to write the code via code, and then execute the newly written code that imports the macro. But when I call the new procedure, I get a "macro does not exist error". Anyone see what is wrong with this code? Thanks! Sub AddProcedure() Dim VBCodeMod As CodeModule Dim LineNum As Long Set VBCodeMod = ActiveWorkbook.VBProject.VBComponents("NewModule") .CodeModule With VBCodeMod LineNum = .CountOfLines + 1 .InsertLines LineNum, _ "Sub CDOEmail()" & Chr(13) & _ "ThisWorkbook.VBProject.VBComponents.Import(""H:\C DO_Email_New.bas"")" & Chr(13) & _ "End Sub" End With Application.Run "CDOEmail" End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Import and run Macro
hi,
did you check the vb editor to see what it did import if anything? i played with it but couldn't get it to work either. Dim VBCodeMod As CodeModule. codemodule does not exist at this point ActiveWorkbook.VBProject.VBComponents ("NewModule").CodeModule i never got past this. Scrip out of range error. why are you doing things this way. why not just copy the other procedure and paste it in the project? -----Original Message----- Hi. The below code inserts VBA code via VBA code. The code it inserts is code to Import a much larger procedure. So i was hoping to write the code via code, and then execute the newly written code that imports the macro. But when I call the new procedure, I get a "macro does not exist error". Anyone see what is wrong with this code? Thanks! Sub AddProcedure() Dim VBCodeMod As CodeModule Dim LineNum As Long Set VBCodeMod = ActiveWorkbook.VBProject.VBComponents ("NewModule").CodeModule With VBCodeMod LineNum = .CountOfLines + 1 .InsertLines LineNum, _ "Sub CDOEmail()" & Chr(13) & _ "ThisWorkbook.VBProject.VBComponents.Import (""H:\CDO_Email_New.bas"")" & Chr(13) & _ "End Sub" End With Application.Run "CDOEmail" End Sub . |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Import and run Macro
Yeah, the code does get entered into the new module ok. So when I look at
the new module, I see Sub CDOEmail() ThisWorkbook.VBProject.VBComponents.Import(""H:\CD O_Email_New.bas"")_ End Sub So it creates the code correctly. But I just can't get the code to execute the newly created CDOEmail code. wrote in message ... hi, did you check the vb editor to see what it did import if anything? i played with it but couldn't get it to work either. Dim VBCodeMod As CodeModule. codemodule does not exist at this point ActiveWorkbook.VBProject.VBComponents ("NewModule").CodeModule i never got past this. Scrip out of range error. why are you doing things this way. why not just copy the other procedure and paste it in the project? -----Original Message----- Hi. The below code inserts VBA code via VBA code. The code it inserts is code to Import a much larger procedure. So i was hoping to write the code via code, and then execute the newly written code that imports the macro. But when I call the new procedure, I get a "macro does not exist error". Anyone see what is wrong with this code? Thanks! Sub AddProcedure() Dim VBCodeMod As CodeModule Dim LineNum As Long Set VBCodeMod = ActiveWorkbook.VBProject.VBComponents ("NewModule").CodeModule With VBCodeMod LineNum = .CountOfLines + 1 .InsertLines LineNum, _ "Sub CDOEmail()" & Chr(13) & _ "ThisWorkbook.VBProject.VBComponents.Import (""H:\CDO_Email_New.bas"")" & Chr(13) & _ "End Sub" End With Application.Run "CDOEmail" End Sub . |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Import and run Macro
Steph,
Try changing Application.Run "CDOEmail" to Application.Run VBCodeMod.Name & ".CDOEmail" -- HTH RP "Steph" wrote in message ... Hi. The below code inserts VBA code via VBA code. The code it inserts is code to Import a much larger procedure. So i was hoping to write the code via code, and then execute the newly written code that imports the macro. But when I call the new procedure, I get a "macro does not exist error". Anyone see what is wrong with this code? Thanks! Sub AddProcedure() Dim VBCodeMod As CodeModule Dim LineNum As Long Set VBCodeMod = ActiveWorkbook.VBProject.VBComponents("NewModule") .CodeModule With VBCodeMod LineNum = .CountOfLines + 1 .InsertLines LineNum, _ "Sub CDOEmail()" & Chr(13) & _ "ThisWorkbook.VBProject.VBComponents.Import(""H:\C DO_Email_New.bas"")" & Chr(13) & _ "End Sub" End With Application.Run "CDOEmail" End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Import macro | Excel Discussion (Misc queries) | |||
Import data and macro | Excel Discussion (Misc queries) | |||
Import CSV files using Macro | New Users to Excel | |||
import data using macro | Excel Discussion (Misc queries) | |||
Macro import | Excel Programming |