Home > Illustlation > グラフィックツール > Corel Draw > CorelDrawの公式マクロ文書の和訳 > CorelDRAW開発者エリアにようこそ > プログラミング・ガイド > 8-オブジェクト・モデルを理解する > 文書で作業する

8.3-文書で作業する

新規作成日 2020-02-02
最終更新日

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

文書に関連したアクティビティの詳細については、次のサブトピックを参照してください。:

すべてのサポートされた形式のファイルは、インポートすることができます。インポートされたファイルは、文書レイヤーに配置されるため、文書の操作に関するこのセクションではなく、ファイルのインポートに関する情報は、レイヤーの操作に関するセクションで提供されます(レイヤーへのファイルのインポートを参照)。

文書を作成する

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
このエントリーをはてなブックマークに追加