Ok, questo è un po 'tardi, ma è in grado di determinare il service pack direttamente da VBA, senza dover pasticciare con il registro. Ovviamente avresti bisogno di aggiornarlo come Microsoft aggiorna Office.
Utilizzando le pagine di supporto per le diverse versioni di Office è possibile ottenere il numero di build e utilizzare una funzione per determinare il service pack, ecc. Office 2007 mostra leggere discrepanze tra le diverse applicazioni all'interno dell'ufficio in modo da dover modificare come necessario.
Poi una funzione farà il lavoro per Excel Ufficio 2007+ come segue:
Function DetermineExcelServicePack() As String
Dim sReturn As String
If Application.Version = "12.0" Then
If Application.Build < 6214 Then
sReturn = "Excel 2007, RTM"
ElseIf Application.Build < 6425 Then
sReturn = "Excel 2007, SP1"
ElseIf Application.Build < 6611 Then
sReturn = "Excel 2007, SP2"
Else
sReturn = "Excel 2007, SP3"
End If
ElseIf Application.Version = "14.0" Then
If Application.Build < 6029 Then
sReturn = "Excel 2010, RTM"
ElseIf Application.Build < 7015 Then
sReturn = "Excel 2010, SP1"
Else
sReturn = "Excel 2010, SP2"
End If
ElseIf Application.Version = "15.0" Then
sReturn = "Excel 2013, RTM"
Else
sReturn = "This version (" & Application.Version & "-" & Application.Build & ") is not supported by this function"
End If
DetermineExcelServicePack = sReturn
End Function
Grazie! Ci proverò! – alfjorgen
C'è una differenza! Molte grazie! – alfjorgen
alfjorgen! Per l'amore di dio qual'era la differenza !? – Dlongnecker