办公应用程序的主版和次版本可以使用Application.Version找到。
返回示例:
15.0 = Office 2013
12.0 = Office 2007我需要office应用程序的修订和构建版本,例如:
Microsoft 2007原文:major.minor: 12.0 revision.build: 4518.1014
Microsoft 2007 SP2:major.minor: 12.0 revision.build: 6425.1000
问题:是否有一种方法可以找到使用VBA的office应用程序()的修订版和版本
问题更新了:在我这边命名惯例错误-寻找一个office应用程序的修订和构建版本,而不是次要版本。
发布于 2015-07-30 09:46:54
VBA没有直接执行它的函数,您必须编写一个函数来完成它:
Public Sub test()
Dim version As String
Dim chkref As Object
' List of references
For Each chkref In ThisWorkbook.VBProject.References
version = RetrieveDllVersion(chkref.fullpath)
major = RetrievePart(version, 0)
majorup = RetrievePart(version, 1)
minor = RetrievePart(version, 2)
minorup = RetrievePart(version, 3)
MsgBox chkref.Name & " : " & major & "." & majorup & "." & minor & "." & minorup
Next
End Sub
Private Function RetrieveDllVersion(ByVal dll As String) As String
Dim fso As Object 'Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
RetrieveDllVersion = fso.GetFileVersion(dll)
End Function
Private Function RetrievePart(ByVal version As String, ByVal pos As Integer) As String
RetrievePart = Split(version, ".")(pos)
End Function在chkref.name上筛选Excel / Office / Word
发布于 2018-08-02 17:18:26
备选办法摘要:
Application.Version "16.0"
Application.Build "16.0.8431"
Application.BuildFull "16.0.8431.0"
CreateObject("Scripting.FileSystemObject") _
.GetFileVersion(Application.Path & "\WINWORD.exe") "16.0.8431.2280"https://stackoverflow.com/questions/31718490
复制相似问题