2010-06-29 5 views
1

Je viens de prendre en charge la maintenance de quelque vba legacy effrayant au travail. Quand j'ai du temps libre, je restructure et réécris essentiellement dans de nouveaux modèles. De temps en temps, j'ai réussi à exploiter une sorte de pépin et à ouvrir deux instances différentes du VBE à la fois. Je ne sais pas exactement ce que j'ai fait pour que cela se produise, mais cela me facilite la vie, alors je me demande si quelqu'un d'autre le sait. Je suppose que c'est quelque chose à faire avec l'exécution de Word comme une nouvelle instance, mais je ne peux pas changer les paramètres de mon type de fichier sur mon PC de travail.Travailler avec deux VBE à la fois

Edit: copier habituellement et coller dans Excel et de le faire de cette façon, mais ce n'est pas idéal parce que je l'utilise aussi beaucoup de macros Excel pour d'autres parties de mon travail

Répondre

0

Essayez ouvrir Word par code:

Dim ws As Object 

Set ws = CreateObject("word.application") 
ws.Visible = True 

Vous devriez obtenir une seconde instance.

0

Vous pouvez utiliser Application.Run pour exécuter du code dans un autre hôte VBA, et vous pouvez entrer dans le code à travers les VBE.

Sub CallExcelUDFFromNonExcelHost() 

    'Get an existing instance of Excel 
    Dim appXL As Excel.Application 
    Set appXL = GetObject(, "Excel.Application") 

    'Get the already opened Excel workbook 
    Dim wbk As Excel.Workbook 
    Set wbk = appXL.Workbooks("MyExcelFunctions.xlsm") 

    'Call the function in the Excel workbook 
    Dim result 
    result = appXL.Run(wbk.VBProject.Name & ".MyFunction", "Some Argument") 

End Sub 
Questions connexes