1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| Sub OuvreFichier()
Dim NomDeCefichierExcel, NomSansExt, NomAvecNewExt, Ext
Dim CheminRepertoire, CheminNewFichier, CheminApp, OuvreFic
'******************* DEFFINITION DES DONNEES **************************
If NomBouton = "open_feuille_autocad" Or NomBouton = "ImprimerDossier" Then
CheminApp = "C:\Program Files\Autodesk\MDT 2006\acad.exe"
Ext = ".DWG"
ElseIf NomBouton = "open_programme" Then
CheminApp = "notepad.exe"
Ext = ".CNC"
Else
MsgBox ("PAS UTILISE")
End
End If
'**********************************************************************
' Definition du nom de fichier
NomDeCefichierExcel = ActiveWorkbook.Name
' Definition du nom du fichier a traiter
NomSansExt = Left(NomDeCefichierExcel, Len(NomDeCefichierExcel) - 4)
NomAvecNewExt = (NomSansExt & Ext)
' Chemin du fichier a traiter
CheminRepertoire = ActiveWorkbook.Path
CheminNewFichier = CheminRepertoire & "\" & NomAvecNewExt
OuvreFic = (CheminApp & " " & CheminNewFichier)
On Error Resume Next
'test si applic ouverte
Dim svc As Object, sQuery As String, Oproc
Set svc = GetObject("winmgmts:root\cimv2")
sQuery = "select * from win32_process"
For Each Oproc In svc.ExecQuery(sQuery)
Debug.Print Oproc.Name
If UCase(Oproc.Name) = UCase(CheminApp) Then
'MsgBox "" & c & " ouverte"
OuvreFic = (CheminNewFichier)
Oproc.Activate
Exit For
Else
End If
Next
Set svc = Nothing
'ouverture fichier
Shell (OuvreFic), vbMaximizedFocus
End Sub |
Partager