CorelDRAWでマクロを利用するためのドキュメント「8.3 - Working with documents」の和訳です。
それぞれのオープン・ドキュメントやDocumentオブジェクトは、Application.Documentsコレクションのメンバーです。そのコレクション内の文書は、作成、あるいは、開かれた順に表示されます。
Corel DESIGNERとCorelDRAWは、文書で作業するために、いくつかのプロパティ、メソッドとイベントを提供します。最も役に立つものを次の表に示します。
クラス | メンバー | 説明 |
---|---|---|
ActiveView | OriginXとOriginYプロパティ |
組み合わせて、アクティブ・ビューの原点を指定します。 詳細については、「パン」を参照してください。 |
ActiveView | SetViewPointメソッド |
アクティブ・ビューの原点を指定します。 詳細については、「パン」を参照してください。 |
ActiveView | Zoomプロパティ |
アクティブ・ビューの拡大率を指定します。 詳細については、「ズーム」を参照してください。 |
Application | ActiveDocumentプロパティ |
アクティブ文書に、直接、アクセスを提供します。 詳細については、「文書をアクティブ化する」を参照してください。 |
Application | CreateDocumentメソッドやCreateDocumentFromTemplateメソッド |
文書を作成します。 詳細については、「文書を作成する」を参照してください。 |
Application | DocumentAfterExportイベント | 文書が、エクスポートされるとき、発生します。(つまり、エクスポート・ダイアログ・ボックスが、閉じるとき)
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Application | DocumentAfterPrintイベント | 文書が、印刷されたとき、発生します。(つまり、印刷ダイアログ・ボックスが閉じるとき)
詳細については、「文書を印刷する」を参照してください。 |
Application | DocumentAfterSaveイベント | 文書が、保存されたとき、発生します。(つまり、保存ダイアログ・ボックスが閉じるとき)
詳細については、「文書を保存する」を参照してください。 |
Application | DocumentBeforeExportイベント | エクスポート・ダイアログ・ボックスを開くとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Application | DocumentBeforePrintイベント | 印刷ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を印刷する」を参照してください。 |
Application | DocumentBeforeSaveイベント | 保存ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を保存する」を参照してください。 |
Application | DocumentCloseイベント | 文書が、閉じられたとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
Application | DocumentNewイベント | 文書が、作成されたとき、発生します。
詳細については、「文書を作成する」を参照してください。 |
Application | DocumentOpenイベント | 文書が、開かれたとき、発生します。
詳細については、「文書を開く」を参照してください。 |
Application | Documentsプロパティ | 開いた文書のコレクションが含まれています。
詳細については、「文書をアクティブ化する」を参照してください。 |
Application | OpenDocumentメソッド | 文書を開きます。
詳細については、「文書を開く」を参照してください。 |
Application | QueryDocumentCloseイベント | ユーザーが、文書を閉じる要求に応じるとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
Application | QueryDocumentExportイベント | ユーザーが、文書をエクスポートする要求に応じるとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Application | QueryDocumentPrintイベント | ユーザーが、文書を印刷する要求に応じるとき、発生します。
詳細については、「文書を印刷する」を参照してください。 |
Application | QueryDocumentSaveイベント | ユーザーが、文書を保存する要求に応じるとき、発生します。
詳細については、「文書を保存する」を参照してください。 |
Application | WindowActivateイベント | ウィンドウが、アクティブ化されたとき、発生します。
詳細については、「文書をアクティブ化する」を参照してください。 |
Application | WindowDeactivateイベント | ウィンドウのアクティブ化が、解除されたとき、発生します。
詳細については、「文書をアクティブ化する」を参照してください。 |
Document | ActiveWindowプロパティ | 文書のアクティブ・ウインドウに、直接、アクセスを提供します。
詳細については、「ウィンドウの操作」を参照してください。 |
Document | AfterExportイベント | 文書が、エクスポートされるとき、発生します。(つまり、エクスポート・ダイアログ・ボックスが、閉じるとき)
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Document | AfterPrintイベント | 文書が、印刷されたとき、発生します。(つまり、印刷ダイアログ・ボックスが、閉じるとき)
詳細については、「文書を印刷する」を参照してください。 |
Document | AfterSaveイベント | 文書が、保存されたとき、発生します。(つまり、保存ダイアログ・ボックスが、閉じるとき)
詳細については、「文書を保存する」を参照してください。 |
Document | BeforeExportイベント | エクスポート・ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Document | BeforePrintイベント | 印刷ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を印刷する」を参照してください。 |
Document | BeforeSaveイベント | 保存ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を保存する」を参照してください。 |
Document | BeginCommandGroupメソッドとEndCommandGroupメソッド | 組み合わせて「コマンド・グループ」を作成します。それは、一連のプログラムされた文書に関連した動作を、一つの取消可能な手順に減らします
。詳細については、「文書のコマンド・グループを作成する」を参照してください。 |
Document | Closeイベント | 文書が、閉じられたとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
Document | Closeメソッド | 文書を閉じます。詳細については、「文書を閉じる」を参照してください。 |
Document | CreateViewメソッド | 文書のビューを作成します。
詳細については、「ビューの操作」を参照してください。 |
Document | Exportメソッド、ExportExメソッドやExportBitmapメソッド | 文書からファイルをエクスポートします。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Document | FilePathプロパティ、FilenameプロパティやFullFileNameプロパティ | 保存された文書のファイル・パスやファイル名(または両方とも)を指定します。
詳細については、「文書をアクティブ化する」を参照してください。 |
Document | GetUserAreaメソッド | ユーザーが、マウスをドラッグする文書領域に関する情報を返します。
詳細については、「マウス・ドラッグをキャプチャする」を参照してください。 |
Document | GetUserClickメソッド | ユーザーが、マウスでクリックした文書の位置に関する情報を返します。
詳細については、「マウス・クリックをキャプチャする」を参照してください。 |
Document | Openイベント | 文書が、開かれたとき、発生します。
詳細については、「文書を開く」を参照してください。 |
Document | PrintOutメソッドとPrintSettingsプロパティ | 指定された設定を使用することで、組み合わせて、文書を印刷します。
詳細については、「文書を印刷する」を参照してください。 |
Document | PublishToPDFメソッドとPDFSettingsプロパティ | 指定した設定を使用して、文書を結合してPDFに発行します。
詳細については、「文書をPDFで出版する」を参照してください。 |
Document | QueryCloseイベント | ユーザーが、文書を閉じる要求に応じるとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
Document | QueryExportイベント | ユーザーが、文書をエクスポートする要求に応じるとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
Document | QueryPrintイベント | ユーザーが、文書を印刷する要求に応じるとき、発生します。
詳細については、「文書を印刷する」を参照してください。 |
Document | QuerySaveイベント | ユーザーが、文書を保存する要求に応じるとき、発生します。
詳細については、「文書を保存する」を参照してください。 |
Document | ReferencePointプロパティ | 文書の参照ポイントを指定します。
詳細については、「文書プロパティを設定する」を参照してください。 |
Document | SaveAsやSaveメソッド | 文書を保存します。
詳細については、「文書を保存する」を参照してください。 |
Document | Unitプロパティ | 文書の測定単位を指定します。
詳細については、「文書プロパティを設定する」を参照してください。 |
Document | WorldScaleプロパティ | 文書のスケッチ・スケールを指定します。
詳細については、「文書プロパティを設定する」を参照してください。 |
Document | Viewsプロパティ | 文書のビュー・コレクションが含まれています。
詳細については、「ビューの操作」を参照してください。 |
GlobalMacroStorage | DocumentAfterExportイベント | 文書が、エクスポートされるとき、発生します。(つまり、エクスポート・ダイアログ・ボックスが、閉じるとき)
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
GlobalMacroStorage | DocumentAfterPrintイベント | 文書が、印刷されたとき、発生します。(つまり、印刷ダイアログ・ボックスが、閉じるとき)
詳細については、「文書を印刷する」を参照してください。 |
GlobalMacroStorage | DocumentAfterSaveイベント | 文書が、保存されたとき、発生します。(つまり、保存ダイアログ・ボックスが、閉じるとき)
詳細については、「文書を保存する」を参照してください。 |
GlobalMacroStorage | DocumentBeforeExportイベント | エクスポート・ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
GlobalMacroStorage | DocumentBeforePrintイベント | 印刷ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を印刷する」を参照してください。 |
GlobalMacroStorage | DocumentBeforeSaveイベント | 保存ダイアログ・ボックスが開くとき、発生します。
詳細については、「文書を保存する」を参照してください。 |
GlobalMacroStorage | DocumentCloseイベント | 文書が、閉じられたとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
GlobalMacroStorage | DocumentNewイベント | 文書が、作成されたとき、発生します。
詳細については、「文書を作成する」を参照してください。 |
GlobalMacroStorage | DocumentOpenイベント | 文書が、開かれたとき、発生します。
詳細については、「文書を開く」を参照してください。 |
GlobalMacroStorage | QueryDocumentCloseイベント | ユーザーが、文書を閉じる要求に応じるとき、発生します。
詳細については、「文書を閉じる」を参照してください。 |
GlobalMacroStorage | QueryDocumentExportイベント | ユーザーが、文書をエクスポートする要求に応じるとき、発生します。
詳細については、「文書からファイルをエクスポートする」を参照してください。 |
GlobalMacroStorage | QueryDocumentSaveイベント | ユーザーが、文書を保存する要求に応じるとき、発生します
。詳細については、「文書を保存する」を参照してください。 |
GlobalMacroStorage | WindowActivateイベント | ウィンドウが、アクティブ化されたとき、発生します。
詳細については、「文書をアクティブ化する」を参照してください。 |
GlobalMacroStorage | WindowDeactivateイベント | ウィンドウのアクティブ化が、解除されたとき、発生します。
詳細については、「文書をアクティブ化する」を参照してください。 |
View | Activateメソッド | 保存されたビューを文書のウィンドウに適用します。
詳細については、「ビューの操作」を参照してください。 |
Window | Activateメソッド | 文書ウィンドウをアクティブにします。詳細については、「ウィンドウの操作」を参照してください。 |
Window | ActiveViewプロパティ | 文書ウィンドウのアクティブ・ビュー、直接、アクセスを提供します。
詳細については、「ビューの操作」を参照してください。 |
Window | Closeメソッド | 文書のウィンドウを閉じます。
詳細については、「ウィンドウの操作」を参照してください。 |
Window | NewWindowメソッド | 文書ウィンドウを作成します。
詳細については、「ウィンドウの操作」を参照してください。 |
Window | Nextプロパティ | 文書の次のウィンドウにアクセスします。
詳細については、「ウィンドウの操作」を参照してください。 |
Window | Previousプロパティ | 文書の前のウィンドウにアクセスします。
詳細については、「ウィンドウの操作」を参照してください。 |
プロパティ、メソッド、またはイベントの詳細については、APIドキュメントを参照してください。
このトピックの内容
In this topic
文書に関連したアクティビティの詳細については、次のサブトピックを参照してください。:
- 文書を作成する
- 文書を開く
- 文書をアクティブ化する
- 文書プロパティを設定する
- 文書を表示する
- 文書を変更する
- 文書のコマンド・グループを作成する
- 文書を保存する
- 文書からファイルをエクスポートする
- 文書をPDFに出版する
- 文書を印刷する
- 文書を閉じる
すべてのサポートされた形式のファイルは、インポートすることができます。インポートされたファイルは、文書レイヤーに配置されるため、文書の操作に関するこのセクションではなく、ファイルのインポートに関する情報は、レイヤーの操作に関するセクションで提供されます(レイヤーへのファイルのインポートを参照)。
文書を作成する
Creating documents
Applicationオブジェクトは、文書を作成するための2つのメソッドを持っています: CreateDocumentとCreateDocumentFromTemplate。
Application.CreateDocumentメソッドは、デフォルトのページの大きさ、方向、およびスタイルに基づいて空の文書を作成します。
Application.CreateDocument() As Document
Application.CreateDocumentFromTemplateメソッドは、指定されたテンプレート(CDT)ファイルから無題の文書を作成します。:
Application.CreateDocumentFromTemplate(Template As String, _
[IncludeGraphics As Boolean = True])As Document
これらの関数は、両方とも、新しい文書への参照を返すため、通常、次の方法で使用されます。:
Dim newDoc as Document
Set newDoc = CreateDocument
新しい文書は、すぐにアクティブになって、Application.ActiveDocumentプロパティを使用することにより参照されることができます。このプロパティの詳細については、「文書をアクティブ化する」を参照してください。
必要に応じて、あなたは、文書を作成することで、発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentNew
- GlobalMacroStorage.DocumentNew
文書を開く
Opening documents
文書を開くために、あなたは、Application.OpenDocumentメソッドを使用することができます。
Corel DESIGNER用のVBAの例:
Dim doc As Document
Set doc = OpenDocument("C:\graphic1.des")
CorelDRAW用のVBAの例:
Dim doc As Document
Set doc = OpenDocument("C:\graphic1.cdr")
必要に応じて、あなたは、文書を開くことによって、引き起こされる、イベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentOpen
- Document.Open
- GlobalMacroStorage.DocumentOpen
文書をアクティブ化する
Activating documents
それぞれのオープン・ドキュメントは、Application.Documentsコレクションのメンバーです。そのコレクション内の文書は、作成、あるいは、開かれた順に表示されます。
文書の実際の積重ね順を反映するために、あなたは、Application.Windowsコレクションを使用する必要があります。
Application.ActiveDocumentプロパティは、アクティブ文書に直接アクセスを提供します。-つまり、アプリケーション・ウィンドウ内の他のすべての文書の前にある文書です。ActiveDocumentは、Document型のオブジェクトであり、この理由から、Documentクラスとして、同じメンバー、プロパティ、メソッドとオブジェクトを持っています。
文書が開かれていない場合、ActiveDocumentは、何も返しません。あなたは、次のVBAコードを使用して、開いた文書について調べることができます:
If Documents.Count = 0 Then
MsgBox "There aren't any open documents.", vbOK, "No Docs"
Exit Sub
End If
Document.Activateメソッドは、ActiveDocumentで参照できるように文書をアクティブ化します。 次のVBAコードは、(3つ以上の文書が開いている場合)3つ目の開いている文書をアクティブにします。:
Documents(3).Activate
Application.ActiveDocumentプロパティで、Document.Activateメソッドを使用しても効果はありません。
必要に応じて、次のプロパティのいずれかを参照することにより、アクティブにする開いているドキュメントを指定できます。:
- Document.FilePath-ファイル・パスだけを確認します。(たとえば、C:\My Documents)
- Document.FileName-ファイル名だけを確認します。(たとえば、Graphic1.cdr)
- Document.FullFileName-ファイル・パスとファイル名を確認します。(たとえば、C:\My Documents\Graphic1.cdr)
あなたは、以下のVBAコードを使用することにより、それぞれの開いている文書のファイル名を確認することができます。:
Public Function findDocument(filename As String) As Document
Dim doc As Document
For Each doc In Documents
If doc.FileName = filename Then Exit For
Set doc = Nothing
Next doc
Set findDocument = doc
End Function
あなたは、続いて、Document.Activateメソッドを使用することで、返された文書を起動することができます。
文書プロパティを設定する
Setting document properties
あなたは、Documentクラスの対応するプロパティを使用することにより、文書の参照点、測定単位、および図面縮尺を指定できます。
Document.ReferencePointプロパティは、文書の参照点を指定します。オブジェクトの文書を配置するとき、この点は、参照されます。
Document.Unitプロパティは、文書の測定単位を指定します。この単位は、その文書内のオブジェクトの配置と大きさ設定に使用されます。Document.WorldScaleプロパティは、文書の描画スケールを指定します。
描画スケールは、あなたが、図面内の距離を実際の距離に比例させることができます。;たとえば、あなたは、図面の1インチが、物理世界の1メートルに対応するように指定できます。
これらのプロパティは、あなたが描くオブジェクトのような、あなたの文書のすべての要素に影響を及ぼします。最適な結果を得るために、あなたのマクロ・ソリューションに、最適な設定を選択してください。
文書を表示する
Displaying documents
あなたは、同時に、一つの文書に、複数のウィンドウを表示することができます。たとえば、大きな文書は、文書の右上角で拡大し、もう一つを右下角に拡大し、1つのウィンドウに、表示することができます。それぞれのウィンドウは、独立して拡大、パンすることができます。1つのウィンドウでページをめくると、すべてのウィンドウに影響します。
ビュー・マネージャーを使用することで、あなたは、それぞれの表示設定を持つビューを作成することができます。保存されたビューを選択すると、そのビューの設定に従ってページが表示されます。
VBAでは、Windowオブジェクトは、与えられた文書のためのそれぞれのViewオブジェクト(または、そのビュー)が含まれている、ウィンドウへのアクセスを提供します。Windowオブジェクトは、フレームを表示します。Viewオブジェクトは、そのフレーム内に文書を表示します。
あなたが、ウィンドウやビューを操作できるようにするだけでなく、アプリケーションは、あなたが、拡大とパンによって文書を表示できます。
ウィンドウで作業する
Working with windows
それぞれのDocumentオブジェクトは、その文書を表示するためのWindowコレクションを持っています。ウィンドウを切り替えるために、Window.Activateメソッドを使用します。:
ActiveDocument.Windows(2).Activate
Document.ActiveWindowプロパティは、アクティブ・ウインドウに直接アクセスを提供します。-つまり、他の全ての文書ウィンドウの前にある文書ウィンドウ。
アクティブ文書の次のウィンドウと前のウィンドウは、Window.NextとWindow.Previousプロパティで参照されます。:
ActiveWindow.Next.Activate
新しいウィンドウを作成するために、Window.NewWindowメソッドを使用します:
ActiveWindow.NewWindow
ウィンドウを閉じるために、(そして、開いているウィンドウが、1つしかない場合、文書)、Window.Closeメソッドを使用します。:
ActiveWindow.Close
必要に応じて、あなたは、ウィンドウを起動することで、発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.WindowActivate
- GlobalMacroStorage.WindowActivate
あなたは、ウィンドウのアクティブ化を解除すると発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.WindowDeactivate
- GlobalMacroStorage.WindowDeactivate
ビューで作業する
Working with views
Window.ActiveViewプロパティとDocument.Viewsプロパティは、両方とも、文書のビューを表示します。それぞれのWindowオブジェクトは、文書の現在のビューを表す、1つのActiveViewオブジェクトを持っています。;ActiveViewオブジェクトの表示設定を保存すると、ビューが作成されます。対照的に、それぞれのDocumentオブジェクトは、そのViewsプロパティのViewオブジェクトのコレクションを持っています。;Viewオブジェクトを選択すると、対応するActiveViewオブジェクトの表示設定が含まれている対応する保存されたビューが起動します。
ActiveViewオブジェクトにアクセスする唯一の方法は、Window.ActiveViewプロパティです。
あなたは、Viewオブジェクトを作成し、それをDocument.Viewsコレクションに追加することができます。次のVBAコードは、現在のActiveView設定をViewsコレクションに追加します。:
ActiveDocument.Views.AddActiveView "New View"
あなたは、Document.CreateViewメソッドを使用することで、固有設定で、ビューを作成することもできます。次のVBAコードは、インチの位置(3、4)にアクセスする、新しいViewオブジェクトを作成します。95%の拡大率を使用し、6ページ目を表示します。:
ActiveDocument.Unit = cdrInch
ActiveDocument.CreateView "New View 2", 3, 4, 95, 6
保存されたビューをアクティブ・ウインドウに適用するために、View.Activateメソッドを呼び出します。:
ActiveDocument.Views("New View").Activate
拡大
Zooming
ActiveViewオブジェクトを設定した量で拡大するために、double値をパーセントで指定することで、ActiveView.Zoomプロパティを設定します。たとえば、次のVBAコードは、拡大率を200%に設定します。:
ActiveWindow.ActiveView.Zoom = 200.0
あなたは、ActiveViewクラスの次のメソッドを使用して、拡大することもできます。:
- SetActualSize
- ToFitAllObjects
- ToFitArea
- ToFitPage
- ToFitPageHeight
- ToFitPageWidth
- ToFitSelection
- ToFitShape
- ToFitShapeRange
パン
Panning
ActiveViewオブジェクトをパンするために、ActiveView.OriginXとActiveView.OriginYプロパティを変更することで、あなたは、その原点を移動することができます。次のVBAコードは、文書を左に5インチ、上に3インチパンします。:
Dim av As ActiveView
ActiveDocument.Unit = cdrInch
Set av = ActiveWindow.ActiveView
av.OriginX = av.OriginX - 5
av.OriginY = av.OriginY + 3
別の方法では、あなたは、ActiveView.SetViewPointメソッドを使用することができます。:
Dim av As ActiveView
ActiveDocument.Unit = cdrInch
Set av = ActiveWindow.ActiveView
av.SetViewPoint av.OriginX - 5, av.OriginY + 3
文書を変更する
Modifying documents
あなたは、アクティブかどうかに関係なく、文書を変更することができます。
アクティブではない文書を変更しても、その文書は、アクティブにはなりません。文書をアクティブにするために、あなたは、そのActivateメソッドを使用する必要があります。(「文書をアクティブ化する」を参照)。
次のVBAコードは、"fooLayer"と呼ばれるレイヤーを3つ目に開いた文書に追加します。:
Dim doc As Document
Set doc = Documents(3)
doc.ActivePage.CreateLayer "fooLayer"
次のVBAコードは、barDoc.cdrという名前のアクティブでない文書に、"fooLayer"という名前のレイヤーを追加するために、findDocument()関数を使用します。:
Dim doc As Document
Set doc = findDocument("barDoc.cdr")
If Not doc Is Nothing Then doc.ActivePage.CreateLayer "fooLayer"
文書のコマンド・グループを作成する
Creating command groups for documents
Documentクラスの2つのとても役に立つメソッドは、一つの取消可能な手順への文書に関連した動作の一連のプログラムを減らすことができる「コマンド・グループ」を作成するために、結合します。これらのメソッドBeginCommandGroupとEndCommandGroupは、次のVBAの例でデモンストレーションされます:
Dim sh As Shape
ActiveDocument.BeginCommandGroup "CreateCurveEllipse"
Set sh = ActiveLayer.CreateEllipse(0, 1, 1, 0)
sh.ConvertToCurves
ActiveDocument.EndCommandGroup
前のコードは、「編集」メニューで、Undo CreateCurveEllipseとして、「元に戻す」文字列を設定します。このコマンドをクリックすると、ConvertToCurves操作だけでなく、CreateEllipse操作も元に戻ります。
コマンド・グループには、必要に応じて、何百ものコマンドを含めることができます。コマンド・グループを作成することは、あなたのマクロをアプリケーションに完全に融和したように見せることができます。
文書を保存する
Saving documents
2つのメソッドは、文書を保存するために使用することができます:Document.SaveAs と Document.Save.
Document.SaveAsメソッドは、指定されたファイル・パスとファイル名を使用して、文書を保存します。あなたは、以前に保存されていない文書を保存するために、あるいは、既存の文書を別のファイルに保存するために、このメソッドを使用することができます。
Document.SaveAsメソッドは、あなたが、追加の設定を指定するために、StructSaveAsOptionsクラスにアクセスできる、オプションのパラメーターを提供します。
Document.Saveメソッドは、文書の既存のファイル・パスとファイル名を使用して、既存の文書ファイルを上書き保存します。
必要に応じて、あなたは、保存ダイアログ・ボックスを開くことによって、発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentBeforeSave
- Document.BeforeSave
- GlobalMacroStorage.DocumentBeforeSave
あなたは、文書を保存して、保存ダイアログ・ボックスを閉じることによって、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.DocumentAfterSave
- Document.AfterSave
- GlobalMacroStorage.DocumentAfterSave
最後に、あなたは、ユーザーが、文書を保存する要求に応じるとき、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.QueryDocumentSave
- Document.QuerySave
- GlobalMacroStorage.QueryDocumentSave
文書からファイルをエクスポートする
Exporting files from documents
すべてのサポートされた形式のファイルは、エクスポートすることができます。
ファイルは、エクスポートされたオブジェクトの範囲は、複数のレイヤと複数のページにわたることができるため、Documentレベルにエクスポートされます。しかしながら、ファイルは、それぞれのインポートされたオブジェクトは、指定されたページの指定されたレイヤに割り当てられるため、Layerレベルでインポートされます。(レイヤーへのファイルのインポートを参照)
Documentクラスは、3つのファイル出力メソッドを持っています。-Export、ExportExとExportBitmap-その全ては、ビットマップとベクトル形式にエクスポートすることができます。
サポートされたファイル形式の幅広い選択は、アプリケーションに利用できる膨大な数のフィルタによります。それぞれのフィルタを使用すると、別のグラフィック・アプリケーションのファイルを操作できます。これらのフィルターの使用の詳細については、「インポート・フィルタとエクスポート・フィルタで作業する」を参照してください。
必要に応じて、あなたは、エクスポート・ダイアログ・ボックスを開くことによって、発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentBeforeExport
- Document.BeforeExport
- GlobalMacroStorage.DocumentBeforeExport
あなたは、文書をエクスポートし、エクスポート・ダイアログ・ボックスを閉じることことで、発生する、イベントに応答するイベント・ハンドラを使用することもできます。:
- Application.DocumentAfterExport
- Document.AfterExport
- GlobalMacroStorage.DocumentAfterExport
最後に、あなたは、ユーザーが、文書をエクスポートする要求に応じるとき、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.QueryDocumentExport
- Document.QueryExport
- GlobalMacroStorage.QueryDocumentExport
Document.Exportメソッドを理解する
Understanding the Document.Export method
ページをエクスポートするために、あなたは、Document.Exportメソッド、ファイル名とフィルタ形式だけが必要です。次のVBAコードは、現在のページをTIFFビットマップ・ファイルにエクスポートします。:
ActiveDocument.Export "C:\ThisPage.eps", cdrTIFF
しかしながら、上記のコードでは、画像の出力をほとんど制御できません。次のVBAコードの場合のように、StructExportOptionsオブジェクトが含まれることによって、より多くの制御が得られます。:
Dim expOpts As New StructExportOptions
expOpts.ImageType = cdrCMYKColorImage
expOpts.AntiAliasingType = cdrNormalAntiAliasing
expOpts.ResolutionX = 72
expOpts.ResolutionY = 72
expOpts.SizeX = 210
expOpts.SizeY = 297
ActiveDocument.Export "C:\ThisPage.eps", cdrTIFF, cdrCurrentPage, expOpts
あなたが、パレットを自動的に発生させるための設定を提供したい場合、StructPaletteOptionsオブジェクトは、パレットに基づいた画像形式の関数呼び出しを含めることもできます。
Document.ExportExメソッドを理解する
Understanding the Document.ExportEx method
ExportExが、フィルターのダイアログ・ボックス設定を取得し、エクスポートするために、それらの設定を適用できる以外は、Document.ExportExメソッドは、Document.Exportメソッドと同じです。:
Dim eFilt As ExportFilter
Set eFilt = ActiveDocument.ExportEx("C:\ThisPage.eps", cdrEPS)
If eFilt.HasDialog = True Then
If eFilt.ShowDialog = True Then
eFilt.Finish
End If
Else
eFilt.Finish
End If
Document.ExportBitmapメソッドを理解する
Understanding the Document.ExportBitmap method
Document.ExportBitmapメソッドは、ExportFilterオブジェクトを返すという点でocument.ExportExメソッドに似ています。それは、エクスポート・ダイアログ・ボックスを表示するために、使用されることができます。しかしながら、ExportBitmapメソッドは、パラメーターとして、StructExportOptionsオブジェクトの個々のメンバーを取得することで、コーディングを単純化します。:
Dim eFilt As ExportFilter
Set eFilt = ActiveDocument.ExportBitmap("C:\Selection.eps", _
cdrTIFF, cdrSelection, cdrCMYKColorImage, _
210, 297, 72, 72, cdrNormalAntiAliasing, _
False, True, False, cdrCompressionLZW)
eFilt.Finish
文書をPDFに出版する
Publishing documents to PDF
PDFに文書を公開することは、2段階のプロセスです。最初の手順は、PDF設定を指定することです。(この手順は、アプリケーションから、それらの設定を指定することで、あるいは、デフォルト設定を使用することで、スキップできますが)。2つ目の手順は、ファイルをエクスポートすることです。
PDF設定を指定するために、あなたは、Document.PDFSettingsプロパティを使用することができます。このプロパティは、PDFVBASettings型のオブジェクトであり、PDFに公開ダイアログ・ボックス内で設定することができる、すべてのPDF設定のプロパティが含まれています。
CorelDRAW用の次のVBAコードは、ページ2、3、および5をMyPDF.pdfという名前のPDFファイルにエクスポートします。:
Dim doc As Document
Set doc = ActiveDocument
With doc.PDFSettings
.Author = "Corel Corporation"
.Bookmarks = True
.ColorMode = pdfRGB
.ComplexFillsAsBitmaps = False
.CompressText = True
.DownsampleGray = True
.EmbedBaseFonts = True
.EmbedFonts = True
.Hyperlinks = True
.Keywords = "Test, Example, Corel, CorelDRAW, PublishToPDF"
.Linearize = True
.PageRange = "2-3, 5"
.pdfVersion = pdfVersion13
.PublishRange = pdfPageRange
.TrueTypeToType1 = True
End With
doc.PublishToPDF "C:\MyPDF.pdf"
次のVBAの例は、PDF公開設定ダイアログ・ボックスに表示することで、ユーザーにより多くの制御を提供します。:
Dim doc As Document
Set doc = ActiveDocument
If doc.PDFSettings.ShowDialog = True Then
doc.PublishToPDF "C:\MyPDF.pdf"
End If
PDFVBASettings.SaveメソッドとPDFVBASettings.Loadメソッドを(それぞれ)使用することで、PDF設定のプロファイルを保存、及び、読み込むことができます。
文書を印刷する
Printing documents
VBAを使用して文書を印刷するのは簡単です。:印刷ダイアログ・ボックスで使用できるほとんどすべての設定は、Document.PrintSettingsプロパティで使用できます。これらのプロパティが設定されるとき、文書を印刷するには、単に、Document.PrintOutメソッドを呼び出すだけです。
たとえば、次のVBAコードは、レベル3 PostScriptプリンタに、ページ1、3と4を3部印刷します:
With ActiveDocument.PrintSettings
.Copies = 3
.PrintRange = prnPageRange
.PageRange = "1, 3-4"
.Options.PrintJobInfo = True
With .PostScript
.DownloadType1 = True
.Level = prnPSLevel3
End With
End With
ActiveDocument.PrintOut
それぞれの印刷ダイアログ・ボックスのページは、そのページのためのすべての設定が含まれている、対応するオブジェクト・モデルのクラスを持っています。次の表は、これらのクラスの一覧を示します。
印刷ダイアログ・ボックス内のページ | オブジェクト・モデルのクラス |
---|---|
General | PrintSettings |
Layout | PrintSettings と PrintLayout |
Separations | PrintSeparations と PrintTrapping |
Prepress | PrintPrepress |
PostScript | PrintPostScript |
Misc | PrintOptions |
あなたは、VBAで、レイアウト・オプションを設定することができません。しかしながら、必要に応じて、あなたは、PrintSettings.ShowDialogメソッドを使用して、印刷ダイアログ・ボックスを開くことができます。
あなたは、prnSelectionにPrintSettings.PrintRangeのプロパティを設定することによって、文書で選択したオブジェクトだけを出力することができます
あなたは、PrintSettings.Printerプロパティで指定することで、Application.Printersコレクションで、特定のプリンタを使用することができます。
あなたは、PrintSettings.Saveメソッドを使用して、印刷プロフィールを保存することができます。
あなたは、PrintSettings.Loadメソッドを使用して、保存された印刷プロフィールにアクセスすることができますが、必ずプロファイルへのフルパスを指定してください。
あなたは、PrintSettings.Resetメソッドを使用して、印刷設定をリセットすることができます。
必要に応じて、あなたは、印刷ダイアログ・ボックスを開くことによって、発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentBeforePrint
- Document.BeforePrint
- GlobalMacroStorage.DocumentBeforePrint
文書を印刷して、印刷ダイアログ・ボックスを閉じることによって、あなたは、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.DocumentAfterPrint
- Document.AfterPrint
- GlobalMacroStorage.DocumentAfterPrint
最後に、ユーザーが、文書を印刷する要求に応じるとき、あなたは、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.QueryDocumentPrint
- Document.QueryPrint
- GlobalMacroStorage.QueryDocumentPrint
文書を閉じる
Closing documents
あなたは、Document.Closeメソッドを呼び出すことで、文書を閉じることができます。
次のVBAコードは、アクティブ文書を閉じて、その背後にある文書を起動します。:
ActiveDocument.Close
コードが、アクティブでない文書を閉じる場合、Application.ActiveDocumentプロパティが変更されないことで、文書は、参照されます。
あなたは、文書のためにDirtyプロパティを明示的にテストしなければなりません。そして、その文書が変更された場合、適切な動作をします。
あなたは、(doc.Closeのように)Documentオブジェクトそれ自体のCloseメソッドを使用することで、文書を閉じることもできます。
必要に応じて、あなたは、文書を閉じることによって発生するイベントに応答するイベント・ハンドラを使用することができます。:
- Application.DocumentClose
- Document.Close
- GlobalMacroStorage.DocumentClose
あなたは、ユーザーが、文書を閉じる要求に応じるとき、発生するイベントに応答するイベント・ハンドラを使用することもできます。:
- Application.QueryDocumentClose
- Document.QueryClose
- GlobalMacroStorage.QueryDocumentClose