仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/04/25 - 23:38:33
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: プリンタ切替のマクロができません 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: プリンタ切替のマクロができません  (閲覧数 3009 回)
naokikoda
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る メールアドレス
プリンタ切替のマクロができません
« 投稿日: 2014/08/09 - 19:19:39 »
引用して返信

初めて投稿させていただきます超素人です。

SolidWorks2012で図面を印刷する時にA4に縮小して出す場合や原寸で出す場合があり、切替が面倒なのでマクロ記録から下記の様な簡単なマクロを作りました。

A3、A4を印刷するプリンタとA1、A2を印刷するプリンターが違うので同時にプリンターを切り替えたいと思っているのですがうまくできません。

プリンタ切替の方法をご存知の方いらっしゃいましたらご教授お願いします。

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()
swapp.ActivePrinter = "プリンター名"
Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Dim myPageSetup As Object
Set myPageSetup = Part.PageSetup
myPageSetup.ScaleToFit = False
myPageSetup.PrinterPaperSize = 8

Part.PrintDirect
End Sub
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:プリンタ切替のマクロができません
« 返信 #1 投稿日: 2014/08/11 - 09:49:54 »
引用して返信

ダウンロードページにある
シート印刷 Ver1.01
が参考になりませんか?
議長に報告する   記録済み
naokikoda
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る メールアドレス
Re:プリンタ切替のマクロができません
« 返信 #2 投稿日: 2014/08/11 - 09:52:39 »
引用して返信

ありがとうございます。

確認してみましたが、複雑すぎて小生の頭ではついていけませんでした。

どなたか簡単にできる方法をご存じの方いらっしゃいませんか?
議長に報告する   記録済み
psychic
Sr. メンバー
****

オフライン

投稿: 59



I'm a llama!

プロファイルを見る
Re:プリンタ切替のマクロができません
« 返信 #3 投稿日: 2014/08/29 - 22:14:31 »
引用して返信

こんにちは
僕も同じようなパターンでA1,A2は大きなプリンターで
A3,A4はレーザーでやってますがたまに小さく出したいときは
こんな風にやってます

A4の場合

Sub main()
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim SWPRINTER As String
Dim SWSIZE As Integer
Dim SWFIT As Variant

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager

'設定を取得
SWPRINTER = Part.Printer()
SWSIZE = Part.PageSetup.PrinterPaperSize
SWFIT = Part.PageSetup.ScaleToFit

'設定
Part.Printer = ("プリンター名")
Part.PageSetup.PrinterPaperSize = 9
Part.PageSetup.ScaleToFit = True

Part.PrintDirect

'元に戻す
Part.Printer = SWPRINTER
Part.PageSetup.PrinterPaperSize = SWSIZE
Part.PageSetup.ScaleToFit = SWFIT

End Sub

ご参考になれば^^

議長に報告する   記録済み
naokikoda
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る メールアドレス
Re:プリンタ切替のマクロができません
« 返信 #4 投稿日: 2014/09/01 - 09:51:26 »
引用して返信

ありがとうございます。

似た形でやってみたらうまくできました。みなさんの参考の為に下記に記録しておきます。

次は、用紙が自動で変更できるように頑張ってみたいです。
どなたか用紙サイズ等を呼び出す方法をご存知でしたらご教授願います。

Dim swApp As Object
Dim Part As Object
Dim myPageSetup As Object

Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Dim Prt As String
Dim Dprt As String
Dim DColor As String
Dim DOri As String
Dim DScal As Boolean
Dim DSize As Integer

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set myPageSetup = Part.PageSetup

'********************ディフォルト状態の記録**************************

DColor = myPageSetup.DrawingColor
DOri = myPageSetup.Orientation
DScal = myPageSetup.ScaleToFit
DSize = myPageSetup.PrinterPaperSize
Dprt = Part.Printer

'********************印刷の指定**************************************

Part.Printer = "(プリンター名)"


myPageSetup.DrawingColor = swPageSetupDrawingColor_e.swPageSetup_BlackAndWhite '白黒
myPageSetup.Orientation = swPageSetupOrientation_e.swPageSetupOrient_Landscape '横向き
myPageSetup.ScaleToFit = True '用紙にフィット
myPageSetup.PrinterPaperSize = 9 '用紙サイズ
Part.PrintDirect '印刷


'*********************初期値に戻す*************************************

Part.Printer = Dprt
myPageSetup.DrawingColor = DColor
myPageSetup.Orientation = DOri
myPageSetup.ScaleToFit = DScal
myPageSetup.PrinterPaperSize = DSize


End Sub

議長に報告する   記録済み
psychic
Sr. メンバー
****

オフライン

投稿: 59



I'm a llama!

プロファイルを見る
Re:プリンタ切替のマクロができません
« 返信 #5 投稿日: 2014/09/04 - 19:28:31 »
引用して返信

こんにちは
ぼくはこんな感じで取得してます
過去ログにもなんかあったような気がしますよ^^

Dim swApp As Object
Dim part As Object
Dim swSheet As SldWorks.sheet
Dim width As Double
Dim height As Double
Dim size As Double

Set swApp = Application.SldWorks
Set part = swApp.ActiveDoc
Set swSheet = part.GetCurrentSheet

size = swSheet.GetSize(width, height)

If width = 0.21 Then    'A4-縦
 

End If
議長に報告する   記録済み
naokikoda
新人さん
*

オフライン

投稿: 4



I'm a llama!

プロファイルを見る メールアドレス
Re:プリンタ切替のマクロができません
« 返信 #6 投稿日: 2014/09/05 - 09:20:13 »
引用して返信

回答ありがとうございます。

うまくできました。

ただ気になったのは、sizeにA4=7、A3=8などの数字が入ってき
たのですが回答の0.21にはならないのはなぜでしょうか?


議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: プリンタ切替のマクロができません 前のトピック 次のトピック
ジャンプします: