マンガでよめる痔のこと・薬のこと

現在、~.exeを実行してプリント出力しています。フリーソフトでPDF出力をしたいと思っています。バッチ(~.bat等)を実行して出力する方法がわかる方教えて下さい。
CubePDFやPrimoPDFで行うと手動で行ったりファイル名が固定になったりします。

出力条件としまして(上記の表記と重複する所があります)・・・・

1.バッチ(~.bat等)で実行。

2.ファイル名を毎回変える、上書き禁止、例えば11月10日の12時1分1秒に出力したので「20111110_120101.pdf」とか。

宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

「フリーで」といってるのに


フリーが「難しい」のであれば
distillerをコマンドラインで動かせばいい.
#もっともこの方法もそれなりに厄介だから
#ghostscriptを使うのも大差ないのだが・・・
#日本語周りがちょっとしたコツがいるので
#distillerの方がその辺はらくなはず.

http://kb2.adobe.com/jp/cps/510/510769.html

参照.Adobeのtech noteをみれば
もっと細かい手段が書いてあるので,5158番のnoteを参照.

ただし,どうやるにもしても
アプリからはPSを吐き出す必要があるけど
AdobePSをドライバ指定してPSを出せばいいのかな.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
いろいろと組み合わせてやりました。
お手数かけました。

お礼日時:2011/11/21 17:17

Ghostscriptはどうでしょうか?


コマンドラインから入出力可能です。
http://hp.vector.co.jp/authors/VA001911/pc_tips/ …

参考URL:http://hp.vector.co.jp/authors/VA001911/pc_tips/ …
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
フリーだとなかなか難しいですね。

お礼日時:2011/11/17 18:40

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel(全シート) → PDF変換をコマンドで

表題の通り、Excel(全シート)をバッチファイルやexe等に対するパラメータ渡しでPDFに変換する方法を探しております。

現在UWSCというソフトを利用し、あるディレクトリにExcelファイルが書き出されたら自動的にPDF化するという仕組みを作成しています。

例えば、「aaa.xls」を「bbb.pdf」として変換したい場合以下の様に記述する。
------------------------------------------
exce("変換ソフトフルパス" "元ファイルフルパス" "書き出しファイルフルパス")
------------------------------------------

■把握している内容
------------------------------------------
・拡張子がExcel2007以降のファイル「拡張子:xlsx」をUWSCの上記execコマンドで変換する方法
 (参考:http://d.hatena.ne.jp/springjoe2/20100601/1275365257)
・UWSCよりExcelを操作し、PDFプリンターよりPDF出力する方法
・Excel2007以降で、「名前をつけて保存」より書き出しをPDF選択
------------------------------------------

■教えていただきたい内容
------------------------------------------
・Excel2007以前のファイル「拡張子:xls」をUWSCの上記execコマンド変換する方法
------------------------------------------

把握している内容以外の方法がありましたら是非ご教授下さいますよう宜しくお願い致します。

表題の通り、Excel(全シート)をバッチファイルやexe等に対するパラメータ渡しでPDFに変換する方法を探しております。

現在UWSCというソフトを利用し、あるディレクトリにExcelファイルが書き出されたら自動的にPDF化するという仕組みを作成しています。

例えば、「aaa.xls」を「bbb.pdf」として変換したい場合以下の様に記述する。
------------------------------------------
exce("変換ソフトフルパス" "元ファイルフルパス" "書き出しファイルフルパス")
------------------------------------------

■把握...続きを読む

Aベストアンサー

ANo.1です。
> 同様の方法でやってはみたのですが、参考URLの変換アプリである「EcPDF2007.exe」がExcel2007で作成されたファイルにのみ対応している為、その他のバージョンで作成されたExcelではエラーが帰って来るため、変換することが出来ません。

当方の環境ではExcel2003で作成したxlsファイルもPdf化されました。
環境に問題があるのかもしれませんね。

いっその事、Excel2007で指定フォルダ内のExcelブックを次々と開いてはPDFで保存するマクロを組んじゃえば?

Qコマンドプロンプトで印刷実行

コマンドプロンプトでテキストファイルを印刷したいのですが、正常に動作しません。
記述は下記の通りです。
直結してあるレーザープリンタを、LPT1ポートで接続しています。
print /d:LPT1: TEST.TXT
実行したところ、プリンタの動作音が一瞬鳴るのですが、紙は出力されません。
どうかよろしくお願いします。

Aベストアンサー

ノートパッドを使ってこんなのはどうでしょうか。

   notepad.exe /pt "TEST.TXT" "LPT1"

下記のページに載っていました。

参考URL:http://www.fpcu.jp/dosvcmd/bbs/log/print/4-1354.html

QプロンプトでExcelのファイルを印刷したい

どうもこんにちは。

Excelのファイルを印刷する際、普段はExcelを起動して印刷するか、エクスプローラでファイルを右クリックして印刷を実行しています。
複数のxlsファイルを順番に印刷したいのですが、プロンプトでコマンドを入力して印刷する方法はないのでしょうか。

OSはWindowsXPを使用しています。
プリンタはパソコンと直接つながっているわけでなく、LAN経由でつながってます。

Aベストアンサー

こんばんは。

残念ながら、起動オプションには印刷が見当たりませんでした。

http://support.microsoft.com/default.aspx?scid=kb;ja;291288

それで、下のようなものを作ってみました。

'--------------------------------------------------
' Usage : XlsPrint.VBS file

Option Explicit
Dim fso
Dim wShell
Dim Path
Dim File
Dim Shell
Dim I

Set fso=CreateObject("Scripting.FileSystemObject")
Set wShell=CreateObject("WScript.Shell")
Path=wShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\excel.exe\")
Path=Replace(Path,"""","")
Path=wShell.ExpandEnvironmentStrings(Path)
RegWrite "HKCR\*\shell\XlsPrint\command\",""""&Path&""""
RegWrite "HKCR\*\shell\XlsPrint\extended",""
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\","[open(""%1"")][print()][quit()]"
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\application\","Excel"
RegWrite "HKCR\*\shell\XlsPrint\ddeexec\topic\","system"
Set Shell=CreateObject("Shell.Application")

For I=0 To WScript.Arguments.Count()-1
Set File=fso.GetFile(WScript.Arguments.Item(I))
Shell.ShellExecute File.Path,0,,"XlsPrint"
WScript.Sleep 1000
Next
WScript.Quit


Sub RegWrite(Key,Value)
If Not RegRead(Key)=Value Then wShell.RegWrite Key,Value,"REG_SZ"
End Sub


Function RegRead(Key)
On Error Resume Next
RegRead=vbNullChar
RegRead=wShell.RegRead(Key)
End Function
'--------------------------------------------------

'---- から始まって '---- で終わる行までを XlsPrint.VBS として保存して、オプションにファイル名を指定して実行してみて下さい。
デフォルトのプリンターに出力される、、、はずです。

こんばんは。

残念ながら、起動オプションには印刷が見当たりませんでした。

http://support.microsoft.com/default.aspx?scid=kb;ja;291288

それで、下のようなものを作ってみました。

'--------------------------------------------------
' Usage : XlsPrint.VBS file

Option Explicit
Dim fso
Dim wShell
Dim Path
Dim File
Dim Shell
Dim I

Set fso=CreateObject("Scripting.FileSystemObject")
Set wShell=CreateObject("WScript.Shell")
Path=wShell.RegRead("HKLM\Software\M...続きを読む

QVBからPDFファイル自動生成するには

VBから印刷イメージを自動にPDFファイルに変換し指定フォルダに保存するにはどのようにすればよいのでしょうか?
いろいろ調べても良くわかりません。
できればサンプルプログラムもあれば幸いです。

現在は、通常使うプリンタにAcrobat PDFWriterを指定し手動でPDFファイルを作っている次第です。

環境としてはWindows2000、VB6.0、Acrobat4.05です。

どんな情報でも結構です。お待ちしております。

Aベストアンサー

サンプルです。

Option Explicit

'開発環境: VB6SP5 Acrobat4.0
'参照設定:Adobe Acrobat 4.0 Type Library
'    参照設定初回設定時は「Acrobat」と表示されています
'    一度チェックをつけ、もう一度参照設定ダイアログを開くと「Adobe Acrobat 4.0 Type Library」になっているはずです。

Sub TEST()
  Dim acroApp     As CAcroApp   'CAcroAppオブジェクト
  Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト
  Dim acroExchAVDoc  As CAcroAVDoc  'CAcroAVDocオブジェクト
  Dim blnRtn     As Boolean   '戻り値
  Dim lngAVDocNum   As Long
  
  'インスタンス生成
  Set acroApp = CreateObject("AcroExch.APP")
  Set acroPDDoc = CreateObject("AcroExch.PDDoc")
  Set acroExchAVDoc = CreateObject("AcroExch.AVDoc")

'デバッグ用
acroApp.Show
 
  'ファイルオープン
  blnRtn = acroExchAVDoc.Open("c:\test.bmp", "")
  If blnRtn Then
    MsgBox "オープンエラー"
    GoTo PGMEND:
  End If
  
  '変換処理中の待機処理
  Do While lngAVDocNum = acroApp.GetNumAVDocs
    DoEvents
  Loop
  
  '変換済みのアクティブPDFファイルオブジェクト取得
  Set acroExchAVDoc = acroApp.GetActiveDoc()
  Set acroPDDoc = acroExchAVDoc.GetPDDoc()
    
  'PDFファイルとしてセーブ
  blnRtn = acroPDDoc.Save(PDSaveFull Or PDSaveCollectGarbage Or PDSaveLinearized, "c:\test.pdf")
  
  If Not blnRtn Then
    MsgBox "セーブエラー"
    GoTo PGMEND:
  End If
 
 
PGMEND:
  '閉じる
  blnRtn = acroExchAVDoc.Close(False)
  acroApp.Exit
 
  '開放
  Set acroExchAVDoc = Nothing
  Set acroPDDoc = Nothing
  Set acroApp = Nothing
End Sub

サンプルです。

Option Explicit

'開発環境: VB6SP5 Acrobat4.0
'参照設定:Adobe Acrobat 4.0 Type Library
'    参照設定初回設定時は「Acrobat」と表示されています
'    一度チェックをつけ、もう一度参照設定ダイアログを開くと「Adobe Acrobat 4.0 Type Library」になっているはずです。

Sub TEST()
  Dim acroApp     As CAcroApp   'CAcroAppオブジェクト
  Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト
  Dim acroExchAVDoc  As CAcroAVDoc  'CAcro...続きを読む

Qフォルダ内のエクセル文書をすべて印刷したいデス

1つのフォルダに ファイルが100個くらいあり それぞれ 1~3シートのBookになています。
すべてのシートを印刷したいのですが 毎回 ファイルを開いてシートを選択しないとできません。

一括で処理する方法をご存知の方 教えて頂けないでしょうか。
(>_<)よろしくお願いしますぅぅ

Aベストアンサー

>まだ使い方が分かりません。。

エクセルを開いて、[Alt] + [F11] でマクロを編集する画面(VBE)が現れます。
その画面で、[挿入] - [標準モジュール] を選択すると、マクロを記述する画面が現れます。

そこに、Sub ~ End Sub までの行をコピーして貼り付けてください。

一行目の「Sub test()」の "test" の文字は任意に書き換えできます。「一括印刷」などの解りやすい名前にしても良いでしょう。

「Fol = "C:\Tmp"」の "" の内側には、ファイルが入っているフォルダのフルパスを書き込んでください。

実行するには、マクロ文中にカーソルを置いて、VBEの[|>](横向き三角ボタン)をクリックすれば実行できます。
若しくは、エクセルの画面で [Alt] + [F8] で実行するマクロを選択する画面が現れます。

まずは、適当なフォルダを作成し、印刷対象ファイルを数個置いて、そのフォルダを対象にして実行テストをして見てください。

参考URL:http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page03.htm

>まだ使い方が分かりません。。

エクセルを開いて、[Alt] + [F11] でマクロを編集する画面(VBE)が現れます。
その画面で、[挿入] - [標準モジュール] を選択すると、マクロを記述する画面が現れます。

そこに、Sub ~ End Sub までの行をコピーして貼り付けてください。

一行目の「Sub test()」の "test" の文字は任意に書き換えできます。「一括印刷」などの解りやすい名前にしても良いでしょう。

「Fol = "C:\Tmp"」の "" の内側には、ファイルが入っているフォルダのフルパスを書き込んで...続きを読む

QPDFファイルを印刷し終了するには

VB 2005で開発しています

PDFファイルを印刷し印刷が終わったらAcrobatを終了させたいのですが、
方法が分かりません。

Dim proc As New Process

proc.StartInfo.FileName = "z:\book1.pdf"
proc.StartInfo.Verb = "Print"
proc.StartInfo.CreateNoWindow = True
proc.Start()

この後、印刷が完了した後Acrobatのみ残ってしまいます。
印刷が終了した時点でAcrobatを終わらせる方法はないでしょうか。
ご教示お願いします。

Aベストアンサー

>印刷を開始されたことを確認するため監視し続けるので、プリンターに負荷がかかり印刷が少し遅くなります。
なるほどです。。。。

>(1)PDFファイルを印刷する。
>(2)印刷が開始されたことを監視するためループし続ける(念のため1分でタイムアウト)
>(3)印刷が開始されたら、1秒おきにスプールの終了をチェック(status)する
>(4)スプールが終了したらAdobeReaderを終了させる。

手順を変えてみてはいかがでしょうか?
一つ一つのレポートのスプール終了を待たずに、次々とレポートをスプールさせてみては?

サンプルソースにて
・ジョブを生成させた端末
・ジョブを生成させたユーザ
・スプール中のドキュメント名
が取れると思います。

一番最後のレポートだけスプールが終了されたことを判定し、Acrobatを終了させるなんてどうでしょうか?

QPrimoPDFの使い方について

PrimoPDFをコマンドラインから起動させたいです。

コマンドラインから処理させたい動作としては、
1.PrimoPDFを起動
2.指定のファイルをPFD化して指定のフォルダに保存
3.PrimoPDFの終了
です。

Help等を探してみたのですが、マニュアルには
特にそのような記述もなく困っています。

どなたかご存知の方がいらっしゃいましたら、よろしくお願いいたします。

Aベストアンサー

PrimoPDFはインストールする事でプリンターの一覧に「PrimoPDF」
が追加され、アプリケーションの印字の際にプリンターとして選択
する事でPDFファイルを作成します。
従って
>PrimoPDFをコマンドラインから起動させたいです。
といった使いかたはしません。

QChr(13)とChr(10)の違いは?

myStr = Replace(myStr, Chr(13), "")

myStr = Replace(myStr, Chr(10), "")

で、改行を置換しているのですが、どちらかでも改行できる時や
どちらかじゃないと改行できない時があります。

そもそもChr(13)とChr(10)の違いはなんでしょう?
どちらも改行ですよね?
何が違うのでしょう?

Aベストアンサー

こんにちは。お邪魔します。

Chr(10) ・・・ ラインフィード ・・・ 略して、Lf

Chr(13) ・・・ キャリッジリターン ・・・ 略して、Cr

改行文字に何を使うのかはアプリケーションが規定するものです。

Win・Office環境では
上のふたつを組合わせた改行[CrLf]を使うことが多いと思います。
次に[Lf]、そして、[Cr]

なので、ソースによっては
  myStr = Replace(myStr, vbCrLf, "")
と、一発で置換できるケースも少なくないです。
■ソースごとに改行文字を確認しておくことから始めた方が有利になります。■

ひとまず、VBAでの改行の扱いに慣れるには
■VBAで用意された文字列定数について知っておいた方がよいと思います。■
 VBE(Visual Basicの編集画面)が開いている状態で、
 F2 キー → オブジェクトブラウザー起動
 検索小窓に、vbCrLf、とタイプして、検索ボタン
 VBA.Constantsクラスのメンバーが表示され
 その中にすべての改行文字(文字列定数)が含まれています。
 そのまま、F1 キーでヘルプを表示します。
詳しい説明はヘルプを読む方がいいでしょう。

実践的な話として、
Chr(10)やChr(13)は関数の戻り値です。
対して、
vbLfやvbCr(またはvbCrLf)は定数です。
定数で済ませられるなら、定数の方が何かと有利です。
定数の名前は略号ですから、実態をイメージし易くなっています。
定数の扱いに慣れることをお奨めします。
例)
  myStr = Replace(myStr, vbLf, "")
  myStr = Replace(myStr, vbCr, "")
  myStr = Replace(myStr, vbCrLf, "")

もしも文字列定数を先に覚えていたなら、疑問にもならなかったのかも知れませんね。
私の場合は、改行の何たるかを覚える前に文字列定数覚えていて、困ることありませんでしたから。

以上、ご参考まで。

こんにちは。お邪魔します。

Chr(10) ・・・ ラインフィード ・・・ 略して、Lf

Chr(13) ・・・ キャリッジリターン ・・・ 略して、Cr

改行文字に何を使うのかはアプリケーションが規定するものです。

Win・Office環境では
上のふたつを組合わせた改行[CrLf]を使うことが多いと思います。
次に[Lf]、そして、[Cr]

なので、ソースによっては
  myStr = Replace(myStr, vbCrLf, "")
と、一発で置換できるケースも少なくないです。
■ソースごとに改行文字を確認しておくことから始めた方が有利...続きを読む

QVBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。

マクロを含むエクセル(EXCEL2000)をHTMLのページからハイパーリンクで呼び出しています。そのエクセルでボタン操作に従い罫線やセルの着色を行っています。しかし、着色結果が更新されません。スクロールバー等で画面を移動すると正しく着色されています。このエクセルを通常に起動した場合は、問題なく動作するのですが、シート全体を更新する方法を教えて下さい。
各関数では、以下のスクリーンアップデータの処理を入れています。
Application.ScreenUpdating = False
    (処理)
Application.ScreenUpdating = False

Aベストアンサー

たぶん、EXCEL独特の問題だと思うのですが、HTML の場合、すでに色の部分を表面上で使用しているので、それでメモリが占有させているのではないかと私は思っています。

他にも、

 ActiveWorkbook.HTMLProject.RefreshDocument True

というのがありますね。
ホスト アプリケーション内のブックに含まれる HTML プロジェクトを更新する、というのがありますね。

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub


人気Q&Aランキング