データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
こういう手があるのを見つけました。案外思いつきませんね^^;
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
パソコンに3台のプリンターが接続されています。
プリンターAは、A4用紙のインクジェット、プリンターBとCは、専用伝票のドットプリンターです。
マクロの記録で、プリンターBを指定して印刷すると、"OKI MICROLINE 6300FB2 on Ne03:” と記録されました。
後ろの on Ne03: の 部分が、プリンターケーブルの差し替え等で、 on Ne04: 等に変わってしまい、
マクロの記録状況 「on Ne03:」 と異なってしまい、実行時エラーになってしまいます。
これを、変わらない方法や、指定しなくて済む方法をご伝授いただければ幸いです。
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
こういう手があるのを見つけました。案外思いつきませんね^^;
質問作成者が受け入れた回答
指定をしないで済む方法はありませんし、洗い出す簡単な方法もないようです。
Excel:ActivePrinterへ設定するプリンタ名の列挙
http://blogs.yahoo.co.jp/bardiel_of_may/40864687.html
この方はレジストリの取得にAPIを使用されておられます。
WMIを使用する↓のような方法もありますが、いずれにしろ面倒ですので、ちゃんと理解できないならやらない方が無難だと思います。
Sub yyy()
Dim oReg As Object, strKeyPath As String, arrType As Long
Dim wPort As String, wValue As Variant
On Error Resume Next
Const HKCU = &H80000001
Set oReg = GetObject("winmgmts:root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts"
oReg.Enumvalues HKCU, strKeyPath, arrValue, arrType
i = 0
For Each wValue In arrValue
oReg.GetStringValue HKCU, strKeyPath, wValue, wPort
MsgBox wValue & "#" & wPort
i = i + 1
Next
On Error GoTo 0
End Sub
y sakuda さん、情報ありがとうございます。
昭雄庄司 さん、こんにちは。
y sakuda さんからいただいた情報がご参考になればと思います。
同じような情報をお探しの方にも、こちらをご参考いただければと思い、今回は私の方で \[回答としてマーク\] をさせていただきました。
昭雄庄司 さんの方で引き続き質問がしたい場合は、ご遠慮なくマークを解除し投稿を続けてくださいね。
今後も Answers をよろしくお願いします。