掲載元ページ
http://www.emeditor.com/forumj/viewtopic.php?p=23&sid=9115721157ff51251fa37cdbe09895e8
拡張子 .vbee
> 題名: TeXファイルコンパイル(PDF作成も含む)
> 投稿者: Fio
> 時間: 2004年8月10日(火) 15:07
> 開いているTeXファイルをコンパイルして、
> dviファイルまたはPDFファイルを作成し、その後閲覧します。
> 最新のLaTeX一式がインストールされている必要があります。
Flg = "DVI" 'Flg = "PDF" 'PDFファイルを作成する場合はこちらをコメントオフ DeleteLogYes = True If Flg = "DVI" Then 'dvioutのパスを指定しておきます。 dvioutPath = "C:\Soft\dviout\dviout.exe" End If '必要なインスタンスを形成します。 Set FS = CreateObject("Scripting.FileSystemObject") Set WS = CreateObject("WScript.Shell") '開いているファイルのフルパスを取得します。 FilePath = document.FullName '拡張子が.TEXのファイルだけ処理するようにします。 If LCase(FS.GetExtensionName(FilePath)) = "tex" Then 'フォルダを取得します。 FolderPath = FS.GetParentFolderName(FilePath) 'ファイル名を取得します。 FileName = FS.GetFileName(FilePath) 'ファイル名の拡張子を除いた部分を取得します。 BaseName = FS.GetBaseName(FilePath) 'DVIファイル名を作成します。 DviFileName = BaseName & ".dvi" 'DVIファイルのフルパスを作成します。 DviFilePath =FS.BuildPath(FolderPath, DviFileName) '処理を開始する時間を取得しておきます。 MyTime = Now 'カレントディレクトリをファイルのあるフォルダにします。 WS.CurrentDirectory = FolderPath 'pLaTeXでコンパイルします。 WS.Run "platex " & FileName, 1, True 'WS.Run "platex " & FileName, 1, True 'DVIファイルが作られなかったら処理をやめます。 If FS.FileExists(DviFilePath) Then 'DVIファイルの日時を調べ、以前のファイルのままだったら処理をやめます。 Set objDVI = FS.GetFile(DviFilePath) If objDVI.DateLastModified > MyTime Then If Flg = "DVI" Then 'DVIOUTを起動します。 WS.Run """" & dvioutPath & """ """ & DviFileName & """", 1, True ElseIf Flg = "PDF" Then '一気にPDFファイルを作成します。 WS.Run "dvipdfm """ & DviFileName & """", 1, True WS.Run """" & FS.BuildPath(FolderPath, BaseName & ".pdf") & """" End If If DeleteLogYes Then '不要なファイルを削除します。 AuxFile = FS.BuildPath(FolderPath, BaseName & ".aux") If FS.FileExists(AuxFile) Then FS.DeleteFile AuxFile LogFile = FS.BuildPath(FolderPath, BaseName & ".log") If FS.FileExists(LogFile) Then FS.DeleteFile LogFile End If 'PSファイルに変換します。 'WS.Run "dvipsk " & DviFileName, 1, True 'ゴ・#91;ストスクリプトで・#123;覧します。 'WS.Run "gswin32 " & BaseName & ".ps", 1, True End If End If End If Set FS = Nothing Set WS = Nothing