Helpex - Trao đổi & giúp đỡ Đăng nhập
5

Tôi cần có thể phát hiện phiên bản Excel nào tôi đã cài đặt trong máy của mình từ một số mã .NET mà tôi đang phát triển. Tôi hiện đang sử dụng Application.Version cho việc đó, nhưng nó không cung cấp cho tôi thông tin về các Gói dịch vụ.

Tôi muốn tránh xa những thứ như thế này: http://www.mvps.org/access/api/api0065.htm

Mã được quản lý được hoan nghênh!

5 hữu ích 0 bình luận 8.2k xem chia sẻ
6
Public Shared Function GetExcelVersion() As Integer
    Dim excel As Object = Nothing
    Dim ver As Integer = 0
    Dim build As Integer
    Try
        excel = CreateObject("Excel.Application")
        ver = excel.Version
        build = excel.Build
    Catch ex As Exception
        'Continue to finally sttmt
    Finally
        Try
            Marshal.ReleaseComObject(excel)
        Catch
        End Try
        GC.Collect()
    End Try
    Return ver
End Function

Trả về 0 nếu không tìm thấy excel.

6 hữu ích 2 bình luận chia sẻ
2

Thật không may, cách tiếp cận đó là cách tiếp cận đáng tin cậy duy nhất. Ngay cả Microsoft cũng đề xuất sử dụng một kỹ thuật tương tự (đây là để kiểm tra thủ công, nhưng khái niệm là giống hệt nhau).

Nếu bạn muốn thực hiện việc này trong mã được quản lý, tôi khuyên bạn chỉ nên chuyển mã từ liên kết của mình và tạo một lớp có thể mở rộng dễ dàng khi các gói dịch vụ mới được phát hành.

2 hữu ích 0 bình luận chia sẻ
2

Bạn có thể kiểm tra đường dẫn ứng dụng trong sổ đăng ký để biết đường dẫn đến exe và sau đó tải phiên bản của nó: Xem http://www.codeproject.com/KB/office/getting_office_version.aspx

2 hữu ích 1 bình luận chia sẻ
0

Mặc dù không mạnh mẽ, nhưng cách tiếp cận đó là cách duy nhất tôi biết.

Hãy nhớ rằng bạn không cần phải kiểm tra kết quả khớp chính xác. Bạn có thể sử dụng so sánh trên các giá trị riêng lẻ để xem phiên bản bạn có là SP1 hay mới hơn. bạn biết nó mới hơn nếu số phiên bản lớn hơn hoặc bằng "11.0.6355.0" (bạn sẽ cần triển khai so sánh)

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ vb.net excel , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading