variable vba vers vbs - VB/VBA/VBS - Programmation
Marsh Posté le 29-10-2009 à 15:57:26
d'une macro a une autre j'y arrive (trouver sur un site)
Set sh = WScript.CreateObject("WScript.Shell" )
on error resume next
sh.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\accessVBOM",1,"REG_DWORD"
on error goto 0
Set exl = WScript.CreateObject("excel.Application" )
exl.Visible = false
set fichxl=exl.workbooks.add
Set mdle = fichxl.VBProject.VBComponents.Add(1)
mdle.CodeModule.InsertLines 1,"sub Macro1()"
mdle.CodeModule.InsertLines 2,"Dim baratin As String"
mdle.CodeModule.InsertLines 3,"baratin = ""mon topo à lire"""
mdle.CodeModule.InsertLines 4,"ExecuteExcel4Macro ""set.name(""""nom1"""","""""" & baratin & """""" )"""
mdle.CodeModule.InsertLines 5,"End sub"
mdle.CodeModule.InsertLines 6,"sub Macro2()"
mdle.CodeModule.InsertLines 7,"msgbox Application.ExecuteExcel4Macro(""get.name(""""nom1"""" ) "" )"
mdle.CodeModule.InsertLines 9,"end sub"
exl.Run "Macro1"
exl.Run "Macro2"
fichxl.close(false)
exl.quit
Set fichxl=nothing
set mdle=nothing
set exl=nothing
set sh=nothing
Marsh Posté le 29-10-2009 à 16:22:55
La question avait déjà été posée le 14 octobre, voir http://forum.hardware.fr/forum2.ph [...] ost=125738
Depuis, j'ai continué à réfléchir un peu à cette question mais sans trouver autre chose de plus que ce que j'avais écrit :
Citation : Ce n'est pas simple car il y a deux contextes diffférents. |
Marsh Posté le 29-10-2009 à 15:51:03
<bonjour a tous,
comment recuperer la valeur d'une variable modifier entre temps par du vba (troisieme msgbox)
premier msgbox = 100
deuxieme msgbox = 200
troisieme msgbox = 100 !!!!!
dim Mavariable1
Mavariable=100
Set sh = WScript.CreateObject("WScript.Shell" )
on error resume next
sh.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\accessVBOM",1,"REG_DWORD"
on error goto 0
Set exl = WScript.CreateObject("excel.Application" )
exl.Visible = false
set fichxl=exl.workbooks.add
Set mdle = fichxl.VBProject.VBComponents.Add(1)
num=0
num=num+1:mdle.CodeModule.InsertLines num,"sub Macro1()"
num=num+1:mdle.CodeModule.InsertLines num,"msgbox " & Mavariable
num=num+1:mdle.CodeModule.InsertLines num,"Mavariable = " & Mavariable + 100
num=num+1:mdle.CodeModule.InsertLines num,"msgbox Mavariable"
num=num+1:mdle.CodeModule.InsertLines num,"End sub"
exl.Run "Macro1"
fichxl.close(false)
exl.quit
Set fichxl=nothing
set mdle=nothing
set exl=nothing
set sh=nothing
msgbox Mavariable
merci pour votre aide !!!