• ベストアンサー

既定のプリンターに設定するマクロ

マクロを設定したのですがうまくいきません。なぜでしょうか。プリンターの名前はプロパティからそのままコピーしたので名前は大丈夫だと思います。 実行時エラー 1004 コントロールが表示されていない、利用できない、またはフォーカスを持てないため、そのコントロールにフォーカスを移すことはできません。 少し時間をおいて開いた時 実行時エラー 1004 ActivePrinterメソッドは失敗しました。 Option Explicit Private Sub Workbook_Open() Application.ActivePrinter = "iR-ADV C3530 III" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • Bn4Cm9a
  • ベストアンサー率18% (19/103)
回答No.2

> ポート名の後のコロン ":" が必要です。 https://learn.microsoft.com/ja-jp/office/vba/api/excel.application.activeprinter という情報がある。

terabayahi1988
質問者

お礼

解決しました。ありがとうございます。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1608/2445)
回答No.1

> Application.ActivePrinter = "iR-ADV C3530 III" 最後にポート名が必要です。 通常使うプリンタ(アクティブプリンタ)を取得/設定する【ActivePrinterプロパティ】【ExcelVBA】 https://vba-create.jp/vba-property-activeprinter/ iR-ADV C3530 IIIをWindowsで既定のプリンタにしてから MsgBox Application.ActivePrinter で表示されたポート名「 on Ne01:」みたいなものを含めてすべて表示されますので必要な部分だけを最後に追加してください。 ポート名が分かれば既定のプリンタを元に戻してください。

関連するQ&A

  • Workbook_openでマクロが実行されない

    ExcelのVBAで起動時にマクロを実行させたいのですが、 「メソッドまたはデータメンバが見つかりません。」 とのエラーが出て実行出来なくて困っています。 プログラム内容は *ThisWorkbook* Private Sub Workbook_Open() Module1.tasu End Sub *標準モジュール(Module1)* Private Sub tasu() Dim a As Byte a = 3 Range("a1") = a End Sub 使用しているソフトはExcell2003、VB6.5です。 よろしくお願いします。

  • UserForm1.Showでエラーになります。1

    Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub とプログラミングすると UserForm1.Showでエラーになります。 どうすればよいでしょうか。 Excel2013でプログラミングしています。 UserForm1.Showもきちんと作成済みです。 エラーメッセージは、 実行時エラー’424’ オブジェクトが必要です。 と出ています。

  • UserForm1.Showでエラーになります。

    Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub と記述するとUserForm1.Showでエラーになります。 どうすればよいでしょうか。 Excel2013で開発しています。

  • UserForm1.Showノトコロデエラーニナ

    Excel2013でプログラムしていますが、 Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub と、プログラミングするとUserForm1.Showのところでエラーになります。 どうしてでしょうか?

  • VB6 OLE内のEXCELマクロを実行するには

    お願いします。VB6です。 (1)フォーム上に、OLEオブジェクトを配置してEXCELシートを埋め込みました。 OLE1.CreateEmbed vbNullString, "Excel.Sheet" (2)そのEXCELの標準モジュールに Sub TestMacro() Cells(1, 1) = "ABC" End Sub というマクロを記述しています (3)下記の様にそのマクロを実行させようとすると ★「実行時エラー'1004' cellsメソッドは失敗しました。'_Global'オブジェクト」 というエラーが出てしまいます。★ Private Sub Command1_Click() Dim wb As Workbook Set wb = OLE1.object wb.Application.Run "TestMacro" End Sub ★このエラーの回避方法をご教授ください なお ・エクセルのマクロを変える事はできません ・OLE右クリックでExcelを開いた状態なら正常実行されるので VBでOLEのExcelを開く方法がわかればそれでもOKです。

  • MSChartコントロールのフォント設定

    VB6のMSChartコントロールで、 Private Sub Form_Load() MSChart1.Title.Font.Size = 20 End Sub とし、フォントサイズを設定しようとしたところ、実行時に 「値の設定のみ可能なプロパティです。」 というエラーが発生してしまします。 フォントサイズだけでなく、フォントの名前、さらにFootnoteでも同様なエラーが発生します。 何が原因でしょうか?よろしくお願いします。

  • 同じマクロ名でも、違うモジュールならエラーにならな

    同じマクロ名でも、違うモジュールならエラーにならない? エクセルVBAについてご教授ください。 標準モジュールに ――――――――― Option Explicit Sub CommandButton1_Click() MsgBox "" End Sub Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― と同じマクロ名を2つ作ったら、コンパイルエラーになりますが、 上記のコードは一度消して、フォームモジュールに ――――――――― Private Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― を一つ作り、 標準モジュールに ――――――――― Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― を一つ作った場合は、エラーにならずにマクロを実行できました。 これは、フォームモジュールがPrivate Subだからでしょうか? フォームモジュールに1つ、 標準モジュールに1つ なら同じマクロ名を使っても、エラーにならないという事でしょうか? よろしくお願いします。

  • エクセルマクロのテキストボックスの質問です。テキストボックス内の文字を

    エクセルマクロのテキストボックスの質問です。テキストボックス内の文字を24文字13行で設定します。文字を打つことにより残り行数をカウントできるようなマクロを作成したいと思い次のマクロを設定しましたがエラーがでます。対処方法わかりますか。 UserForm1のマクロは次の通りです。 Private Sub CommandButton1_Click() Me.Hide End Sub Private Sub TextBox1_Change() ato = 13 - TextBox1.linecounut Label1.ForeColor = 0 If ato <= 10 Then Label1.ForeColor = RGB(255, 0, 0) Label1.Caption = "あと " & ato & " 文字入力できます。" End Sub すると1回目は入力可能ですが,次のセルに移動するとこのようなメッセージが出てしまいます。 linecountのプロパティーを取得できません。このコントロールはフォーカスを持つ必要があります。setfoucusメソッドによってこのプロパティーまたhメソッドが参照される前にフォーカスに移動しました

  • マクロ 実行後にファイルを閉じたい

    マクロを実行した後、実行したファイルを閉じるようにしたいのですが、 どのように書いたらよいか分からず、どなたかご教授いただけませんでしょうか。 グーグルで検索したマクロを実行して、その後その実行したファイルを 閉じるように加えたかったため、以下のPrivate Sub book1close()を加えたのですが 何も起こらずファイルは開かれたままです。 まったく記述する構文を理解できてないのでお恥ずかしい質問で申し訳ございませんがどなたか、どうかよろしくお願い致します。 ---------------------------- Option Explicit  Sub 作業1()   ・・・・・・・  End Sub  Private Sub 作業2()   ・・・・・・・ End Sub Private Sub book1close()   この行以下を追加しましたが動きません! Application.DisplayAlerts = False Workbooks("Book1.xlsx").Save Workbooks("Book1.xlsx").Close Application.DisplayAlerts = True End Sub ----------------------------

  • マクロ BeforePrintイベントがマクロ構文上のprintの前に実行できない

    エクセルのマクロで「ThisWorkbook」に  Private Sub Workbook_BeforePrint(cancel As Boolean)イベントを 記載しています。 エクセルの印刷ボタンやプレビューでは、上記イベントが実行されますが、マクロモジュール内のPrintやPrintPreviewの前には、実行されません。マクロの実行過程をステップインで追ってみると、PrintやPrintPreviewの前にPrivate Sub を読みにいくようなのですが実行はされないようで、非常に困っております。 どなたか詳しい方ご教授お願いいたします。

専門家に質問してみよう