
Dacă doriţi să condiţionaţi rularea codului în funcţie de versiunea de Office instalată, puteţi folosi comanda Version pentru a limita rularea acestuia.
Cum procedăm ?
1. Excel
Sub Versiune() On Error GoTo err Dim host As Excel.Application Set host = ThisWorkbook.Application 'verificam daca numarul versiunii incepe cu 14 If Left(host.Version, 2) = "14" Then 'rulam codul dorit daca verificarea afiseaza TRUE MsgBox "Microsoft Office 14.0", vbOKOnly + vbInformation, "Info" Else 'rulam alt cod daca verificarea afiseaza FALSE MsgBox "Microsoft Office xx.x", vbOKOnly + vbInformation, "Info" End If Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Error" End Sub
Codul va verifica dacă numărul versiunii începe cu 14 folosind funcţia Left.
2. Word
Sub Versiune() On Error GoTo err Dim host As Excel.Application Set host = ThisDocument.Application 'verificam daca numarul versiunii incepe cu 14 If Left(host.Version, 2) = "14" Then 'rulam codul dorit daca verificarea afiseaza TRUE MsgBox "Microsoft Office 14.0", vbOKOnly + vbInformation, "Info" Else 'rulam alt cod daca verificarea afiseaza FALSE MsgBox "Microsoft Office xx.x", vbOKOnly + vbInformation, "Info" End If Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Error" End Sub
3. PowerPoint
Sub Versiune() On Error GoTo err Dim host As Excel.Application Set host = ActivePresentation.Application 'verificam daca numarul versiunii incepe cu 14 If Left(host.Version, 2) = "14" Then 'rulam codul dorit daca verificarea afiseaza TRUE MsgBox "Microsoft Office 14.0", vbOKOnly + vbInformation, "Info" Else 'rulam alt cod daca verificarea afiseaza FALSE MsgBox "Microsoft Office xx.x", vbOKOnly + vbInformation, "Info" End If Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Error" End Sub
4. Outlook
Sub Versiune() On Error GoTo err Dim host As Excel.Application Set host = ThisOutlookSesion.Application 'verificam daca numarul versiunii incepe cu 14 If Left(host.Version, 2) = "14" Then 'rulam codul dorit daca verificarea afiseaza TRUE MsgBox "Microsoft Office 14.0", vbOKOnly + vbInformation, "Info" Else 'rulam alt cod daca verificarea afiseaza FALSE MsgBox "Microsoft Office xx.x", vbOKOnly + vbInformation, "Info" End If Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Error" End Sub
Dacă dorim să afişăm numărul versiunii într-un Message Box vom proceda astfel:
Sub Versiune() On Error GoTo err Dim host As Excel.Application Set host = ThisWorkbook.Application MsgBox host.Version Exit Sub err: MsgBox err.Description, vbOKOnly + vbInformation, "Error" End Sub
Rezultatul: