- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
回復 2# GBKEE
感謝,這篇的功能跟我的程式碼不一樣,我目前的方式可以自動列出,也可以透過程式自動選擇印表機並且用測試的方式找出port,但這篇多了一個功能(彈跳視窗選擇印表機!)- Dim reg As Variant, oreg As Object, mystr As Variant
- Const HKEY_CURRENT_USER = &H80000001
- Set oreg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
- oreg.enumvalues HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", mystr, Arr
- For Each reg In mystr
- If Left(reg, Len(Sheets("其他").[k2])) = Sheets("其他").[k2] Then '找出類似名稱的印表機
- Exit For
- End If
- Next
- '測試看看是哪一個Port
- For i = 0 To 999
- On Error Resume Next
- If i < 10 Then X = "0" & i Else X = i
- If i = 0 Then
- Application.ActivePrinter = reg & " on nul:"
- If Application.ActivePrinter = reg & " on nul:" Then Exit For
- End If
- Application.ActivePrinter = reg & " on Ne" & X & ":" '設定指定的印表機
- If Application.ActivePrinter = reg & " on Ne" & X & ":" Then Exit For
- Next
複製代碼 |
|