次の方法で共有

プリンター設定

Anonymous
2011-03-25T02:01:44+00:00

パソコンに3台のプリンターが接続されています。

プリンターAは、A4用紙のインクジェット、プリンターBとCは、専用伝票のドットプリンターです。

マクロの記録で、プリンターBを指定して印刷すると、"OKI MICROLINE  6300FB2 on Ne03:” と記録されました。

後ろの on Ne03: の 部分が、プリンターケーブルの差し替え等で、 on Ne04: 等に変わってしまい、

マクロの記録状況 「on Ne03:」 と異なってしまい、実行時エラーになってしまいます。

これを、変わらない方法や、指定しなくて済む方法をご伝授いただければ幸いです。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-03-27T03:08:39+00:00

こういう手があるのを見つけました。案外思いつきませんね^^;

http://homepage2.nifty.com/kmado/ke_m9.htm#E02M082

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-03-27T02:59:10+00:00

指定をしないで済む方法はありませんし、洗い出す簡単な方法もないようです。

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

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-04-06T07:18:26+00:00

    y sakuda さん、情報ありがとうございます。

    昭雄庄司 さん、こんにちは。

    y sakuda さんからいただいた情報がご参考になればと思います。

    同じような情報をお探しの方にも、こちらをご参考いただければと思い、今回は私の方で \[回答としてマーク\] をさせていただきました。

    昭雄庄司 さんの方で引き続き質問がしたい場合は、ご遠慮なくマークを解除し投稿を続けてくださいね。

    今後も Answers をよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません