No.3ベストアンサー
- 回答日時:
>難しくて意味がサッパリわかりません(^^;
>ダイアログが出るのはキツイですね、
>出来れば回避したいですねぇ。
あとは印刷ダイアログのOKボタンを探して、PUSHさせるだけなのですが、、、
「API:ShellExecute()」
のサンプルでわからないとなると、おそらくこの方向で発展させても、理解に苦しむと想像します。
なので、、、とりあえず、マルチ対応は諦める事をお勧めします。
そこで「VISIO限定」になりますが、
VISIOアプリケーションを、外部操作する事で印刷をさせた方が、一番容易かと思います。
エクセルからでも、アクセスでも、VBS(要:宣言修正)からでも、処理が可能です。
Const DEF_Visio_VisUICmds_visCmdPrintPage As Integer = &H5A3
Sub PrintVisio(p_strFilePath As String)
Dim vsdApp As Object 'Visio.Application
Dim vsdDoc As Object 'Visio.Document
Set vsdApp = CreateObject("Visio.Application")
Set vsdDoc = vsdApp.Documents.Open(p_strFilePath)
vsdApp.DoCmd DEF_Visio_VisUICmds_visCmdPrintPage
vsdDoc.Close
Set vsdDoc = Nothing
vsdApp.Quit
Set vsdApp = Nothing
End Sub
No.2
- 回答日時:
>今の所visioで
ってことはマルチに処理を行いたいってことですね?
VISIO限定であれば、コマゴマとSendKeysを利用することで可能だと思いますが、全対応ともなれば、OSに処理を任す方法をお勧めします。
・ファイルを右クリック
・ショートカットメニューが出現
・「印刷(P)」を選択
というのが、印刷のショートカットとなると思います。
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub PrintFile(ByVal p_FileName As String)
'関連づいたアプリケーションのSHELLメニューの印刷を実行する
Dim lngInstance As Long
lngInstance = ShellExecute(0, "print", p_FileName, vbNullString, Environ("windir"), 1)
If lngInstance < 33 Then
'印刷(P)というショートカットが用意されていないファイル種別の場合など
Call MsgBox("失敗", vbExclamation)
End If
End Sub
ただしVISIOの場合は、その後印刷のダイアログが出現すると思いますが、それはソフトの仕様です。
どうしてもそれを回避したいのであれば、既存のソフトの仕様範囲外となるため、やはりファイル毎の個別処理を組み込まなければなりません。
この回答への補足
難しくて意味がサッパリわかりません(^^;
勉強不足を痛感します(^^;
>ただしVISIOの場合は、その後印刷のダイアログが出現すると思いますが
ダイアログが出るのはキツイですね、
かなりのファイル(visio)を指定させたいので…。
出来れば回避したいですねぇ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- PDF EXCEL ページを指定してPDF出力するVBAを教えてください。 2 2023/02/09 10:27
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- プリンタ・スキャナー 印刷出来ません...エプソン EP302 トラブルシューティングについて 7 2022/07/16 10:20
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- PDF 突然PDFファイルが印刷できなくなった 1 2022/12/22 15:47
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチによるショートカットの...
-
VBAでファイルを指定して印刷さ...
-
1フォルダに保存できるファイル...
-
HTMLプログラムにExcelをリンク...
-
HTMLタグのあるCSVファイルを利...
-
subversionからファイル取得時...
-
一括ダウンロードの方法
-
VBA IE操作 ダイアログボックス...
-
Windowsのメモ帳でジョークウイ...
-
【VC++6.0 MFC】画像表示について
-
メディアプレイヤーのエラーで...
-
Excelでdatファイルを作成??
-
ヤフーのNYダウの過去データ...
-
auoneのwebメールを使っている...
-
【Excel VBA】PDFを作成して,...
-
フォルダ作成用バッチファイル...
-
KADOKAWA電撃文庫ってフォーマ...
-
エクセルVBA フォームを開く時...
-
Thunderbird ローカルフォルダ...
-
FFFTPでサーバに新規フォルダが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチによるショートカットの...
-
1フォルダに保存できるファイル...
-
エクセルVBA ファイルOPEN時の...
-
VBAを使い、Web上からファイル...
-
Excel VBAどこが間違ってますか?
-
Excel-VBA 撮影日時の取得
-
ボタンをファイルにリンクさせたい
-
HTMLプログラムにExcelをリンク...
-
ファイルのアクセス権の取得
-
JSONファイルをダウンロードさ...
-
Windowsのメモ帳でジョークウイ...
-
C#のAxWindowsMediaPlayerから...
-
global.asaについて
-
subversionからファイル取得時...
-
FTPサーバからファイルをダウン...
-
HTMLタグのあるCSVファイルを利...
-
【VC++6.0 MFC】画像表示について
-
エクセルをダウンロードさせる...
-
VBAでファイルを指定して印刷さ...
-
WebLogic/javaで一部JSPだけが...
おすすめ情報