Lấy danh sách máy In

Liên hệ QC

Thái Phúc

Thành viên mới
Tham gia
1/12/18
Bài viết
31
Được thích
2
Giới tính
Nam
Chào các anh chị trên GPE.
Em có sưu tầm được 1 file của anh Nguyễn Duy Tuân về lấy danh sách máy in. Tuy nhiên lại không chạy được trên Win 64 bit (Office 64 bit). Vậy mong các anh chị giúp em sửa code để chạy được trên cả 2 phiên bản 32 bit và 64 bit ạ. Em xin cảm ơn
 

File đính kèm

  • Tao-userform-chon-may-in-de-in-cac-sheet.xls
    49.5 KB · Đọc: 19
Lần chỉnh sửa cuối:
Chào các anh chị trên GPE.
Em có sưu tầm được 1 file của anh Nguyễn Duy Tuân về lấy danh sách máy in. Tuy nhiên lại không chạy được trên Win 64 bit. Vậy mong các anh chị giúp em sửa code để chạy được trên cả 2 phiên bản 32 bit và 64 bit ạ. Em xin cảm ơn
Không biết Office thì sao chứ máy tôi dùng Win 64 bit chạy ầm ầm.
 
Upvote 0
Chào các anh chị trên GPE.
Em có sưu tầm được 1 file của anh Nguyễn Duy Tuân về lấy danh sách máy in. Tuy nhiên lại không chạy được trên Win 64 bit. Vậy mong các anh chị giúp em sửa code để chạy được trên cả 2 phiên bản 32 bit và 64 bit ạ. Em xin cảm ơn
May em office 64 bit mở lên bị lỗi này anh ạ123.JPG
 
Upvote 0
Bạn thử thay cả cụm hiện có #If VBA7 Then ... #Else ... #End If

bằng
Mã:
#If VBA7 Then
    Private Declare PtrSafe Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" (ByVal flags As Long, ByVal name As String, ByVal Level As Long, pPrinterEnum As Long, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
    Private Declare PtrSafe Function PtrToStr Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As LongPtr) As LongPtr
    Private Declare PtrSafe Function StrLen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As LongPtr) As Long
#Else
    Private Declare Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" (ByVal flags As Long, ByVal name As String, ByVal Level As Long, ByRef pPrinterEnum As Long, ByVal cdBuf As Long, ByRef pcbNeeded As Long, ByRef pcReturned As Long) As Long
    Private Declare Function PtrToStr Lib "kernel32.dll" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
    Private Declare Function StrLen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As Long) As Long
#End If
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom