variable vba vers vbs

variable vba vers vbs - VB/VBA/VBS - Programmation

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 !!!

Reply

Marsh Posté le 29-10-2009 à 15:51:03   

Reply

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

Reply

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.  
Une solution consiste à écrire la variable dans un fichier côté VBA, et à lire ensuite ce fichier côté VBS.  
Une autre solution consiste à écrire la variable dans le presse papier du côté VBA, et à lire ensuite le presse-papier côté VBS.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed