Excel97からWord98を操作して、Wordを連続印刷した後にWordを自動的に保存せず
に終了するようなマクロを組もうと考えています。しかし、Wordのスプール処理に時間が
かかる為、スプールしている間に印刷処理のマクロを抜けて終了処理のマクロを実行して
しまい、スプール処理の終わっていないデータが全て破棄されるという事態に
陥ってしまいました。ここでプリンタのスプール処理が終わったことを判定
出来れば、それを検知してからWordの終了処理を実行すれば、全て上手くいく
のです。環境はプリンタがLANで接続されているPCを使っています。
(あまり良く分かりません)
すみませんが、どなたか教えて下さい!

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

A 回答 (2件)

"バックグラウンドで印刷する"をoffにすればよい


PrintBackgroundプロパティ参照

参考URL:http://www.microsoft.com/JAPAN/developer/library …
    • good
    • 1
この回答へのお礼

非常に簡単、且つ効果的な手段でした。これでバッチリです。
有難うございました。
ただ、VBAのヘルプではPrintBackgroundの説明が見つからなかったので
ちょっと不便さを感じてます。
ヘルプも万能ではないんですね・・・。By初心者

お礼日時:2001/07/18 22:52

どもども田吾作7です。



一応EXCEL2000でのサンプル作りました。っていうか、ほとんど参考URLのパクリです。
(http://f-ga.com/Lib/PrintJob.lzh)


サンプルプログラムは印刷ジョブを取得するプログラムです。
存在するジョブに、指定のファイルが出したジョブ名が存在したら、スプール完了としてみてはどうでしょうか?
(ネットワーク先のプリンタのジョブって見れたっけ?ちと不安・・・)


参考URLではPrinterで通常使うプリンタを使用していますが、Officeでは使用できないので、別の方法で通常使うプリンタを取得しています。


※サンプルを再現するために必要なもの
ユーザーフォーム
その中にListBox1とCommandButton1
標準モジュール

******ユーザフォームのソース ここから******
Private Sub CommandButton1_Click()
Dim strPrinterDeviceName As String
Dim lngPrinterHandle As Long
Dim lngJobInfo1FirstJob As Long
Dim lngJobInfo1EnumerateJob As Long
Dim lngJobInfo1Level As Long
Dim lngJobInfo1Needed As Long
Dim lngJobInfo1Returned As Long
Dim bytJobInfo1Buffer() As Byte
Dim udtJobInfo1() As JOB_INFO_1
Dim lngJobInfo1Count As Long
Dim bytDocumentBuffer(64) As Byte
Dim strDocument() As String
Dim strStatus() As String

' リストボックスを初期化
ListBox1.Clear

' 通常使うプリンタ名を取得
strPrinterDeviceName = getConstantPrinter

' プリンタのオブジェクトハンドルを取得
Call OpenPrinter(strPrinterDeviceName, lngPrinterHandle, ByVal vbNullString)
' 最初に列挙する印刷ジョブを指定
lngJobInfo1FirstJob = 0
' 列挙する印刷ジョブの総数を指定
lngJobInfo1EnumerateJob = 99
' 構造体のレベルを指定
lngJobInfo1Level = 1
' バッファの必要なサイズを取得
Call EnumJobs(lngPrinterHandle, lngJobInfo1FirstJob, lngJobInfo1EnumerateJob, lngJobInfo1Level, _
ByVal vbNullString, 0, lngJobInfo1Needed, lngJobInfo1Returned)
' 印刷ジョブが存在する場合は
If lngJobInfo1Needed > 0 Then
' バッファを確保
ReDim bytJobInfo1Buffer(lngJobInfo1Needed - 1)
ReDim udtJobInfo1(lngJobInfo1Needed - 1)
ReDim strUserName(lngJobInfo1Needed - 1)
ReDim strDocument(lngJobInfo1Needed - 1)
ReDim strStatus(lngJobInfo1Needed - 1)
' 印刷ジョブの情報を取得
Call EnumJobs(lngPrinterHandle, lngJobInfo1FirstJob, lngJobInfo1EnumerateJob, lngJobInfo1Level, bytJobInfo1Buffer(0), _
lngJobInfo1Needed, lngJobInfo1Needed, lngJobInfo1Returned)
' 印刷ジョブが取得できた場合は
If lngJobInfo1Returned > 0 Then
' 取得した印刷ジョブの情報を構造体へ移動
MoveMemory udtJobInfo1(0), bytJobInfo1Buffer(0), Len(udtJobInfo1(0)) * lngJobInfo1Returned

' プリンタドライバ情報を切り出し
For lngJobInfo1Count = 0 To lngJobInfo1Returned - 1
With udtJobInfo1(lngJobInfo1Count)
' ドキュメント名のアドレスを取得
Call lstrcpy(bytDocumentBuffer(0), ByVal .pDocument)
' ドキュメント名をバイト型から文字列へ変換
strDocument(lngJobInfo1Count) = StrConv(bytDocumentBuffer(), vbUnicode)
' 印刷ジョブの状態を取得
strStatus(lngJobInfo1Count) = ""
If .Status And JOB_STATUS_PAUSED Then:
If .Status And JOB_STATUS_ERROR Then:
If .Status And JOB_STATUS_DELETING Then:
If .Status And JOB_STATUS_SPOOLING Then:
If .Status And JOB_STATUS_PRINTING Then:
If .Status And JOB_STATUS_OFFLINE Then:
If .Status And JOB_STATUS_PAPEROUT Then:
If .Status And JOB_STATUS_PRINTED Then:
If .Status And JOB_STATUS_DELETED Then:
If .Status And JOB_STATUS_BLOCKED_DEVQ Then:
If .Status And JOB_STATUS_USER_INTERVENTION Then: strStatus(lngJobInfo1Count) = strStatus(lngJobInfo1Count) & "/ユーザ介在"
' 印刷ジョブを表示
ListBox1.AddItem .JobId & "-" & _
Left(strDocument(lngJobInfo1Count), _
InStr(strDocument(lngJobInfo1Count), vbNullChar) - 1) & vbTab & _
strStatus(lngJobInfo1Count)
End With
Next lngJobInfo1Count
Else
ListBox1.AddItem "印刷ジョブが取得できません。"
End If
Else
ListBox1.AddItem "印刷ジョブはありません。"
End If
' プリンタオブジェクトをクローズ
Call ClosePrinter(lngPrinterHandle)
End Sub


'通常使うプリンタの取得
Function getConstantPrinter() As String
Dim strSection As String
Dim strKey As String
Dim strDefault As String
Dim strBuff As String * 1024

' セクションを指定
strSection = "windows"

' キーを指定
strKey = "device"

' デフォルト値を指定
strDefault = ""

' 取得
Call GetProfileString(strSection, strKey, strDefault, strBuff, Len(strBuff))
getConstantPrinter = Left(strBuff, InStr(strBuff, ",") - 1)
End Function
******ユーザフォームのソース ここまで******

******標準モジュールのソース ここから******
' プリンタのオブジェクトハンドルを取得する関数の宣言
Public Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" _
(ByVal pPrinterName As String, _
phPrinter As Long, _
pDefault As Any) As Long

' プリンタのオブジェクトハンドルを破棄する関数の宣言
Public Declare Function ClosePrinter Lib "winspool.drv" _
(ByVal hPrinter As Long) As Long

' プリンタの印刷ジョブを列挙する
Public Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" _
(ByVal hPrinter As Long, _
ByVal FirstJob As Long, _
ByVal NoJobs As Long, _
ByVal Level As Long, _
pJob As Any, _
ByVal cdBuf As Long, _
pcbNeeded As Long, _
pcReturned As Long) As Long

' 日付と時刻を定義する構造体
Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

' 印刷ジョブの情報を定義する構造体
Public Type JOB_INFO_1
JobId As Long
pPrinterName As Long
pMachineName As Long
pUserName As Long
pDocument As Long
pDatatype As Long
pStatus As Long
Status As Long
Priority As Long
Position As Long
TotalPages As Long
PagesPrinted As Long
Submitted As SYSTEMTIME
End Type
Public Const JOB_STATUS_PAUSED = &H1
Public Const JOB_STATUS_ERROR = &H2
Public Const JOB_STATUS_DELETING = &H4
Public Const JOB_STATUS_SPOOLING = &H8
Public Const JOB_STATUS_PRINTING = &H10
Public Const JOB_STATUS_OFFLINE = &H20
Public Const JOB_STATUS_PAPEROUT = &H40
Public Const JOB_STATUS_PRINTED = &H80
Public Const JOB_STATUS_DELETED = &H100
Public Const JOB_STATUS_BLOCKED_DEVQ = &H200
Public Const JOB_STATUS_USER_INTERVENTION = &H400 ' Windows 95 Only
Public Const NO_PRIORITY = 0
Public Const MAX_PRIORITY = 99
Public Const MIN_PRIORITY = 1
Public Const DEF_PRIORITY = 1

' ある位置から別の位置にメモリブロックを移動する関数の宣言
Public Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, _
Source As Any, _
ByVal Length As Long)

' 文字列をバッファにコピーする関数の宣言
Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" _
(lpString1 As Any, _
lpString2 As Any) As Long

'WIN.INIの中の値を取得
Declare Function GetProfileString Lib "kernel32.dll" _
Alias "GetProfileStringA" _
(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
******標準モジュールのソース ここまで******


もしジョブを得ることが出来なかったら、スプールした時に現れるダイアログウィンドウを監視する方法もあります。こちらの方法はあまりお勧めしませんが、上記の方法で実現不可能だったら、調査してサンプルを作ってみますよ。

でわでわ

参考URL:http://www.galliver.co.jp/vbtips/sample/vbt0124. …
    • good
    • 1
この回答へのお礼

有難うございました。
でも、ちょっと私には難し過ぎたようです。
構造体やバッファを制御する文が見うけられましたが、
これらのプログラムを組み込むには、ちょっと勉強が必要なレベルなんです。
今書いているVBAプログラムよりもこの処理文だけで
それを遥かに越えてしまってるようで・・・。
でもレベルがあがったら参考にしたと思います。

お礼日時:2001/07/18 22:58

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

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

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

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

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

QAUTOCADをPDF変換して印刷したいのですが

AUTOCADをPDFに変換して印刷たいのですが
PDFでPC上ちゃんと見える線が印刷するとその線だけ消えています。
ワイプアウトで一部隠れてるのが原因かと思ったのですが
ちゃんと出てる図面もあります。

PDFをどうにかして印刷できないでしょうか?

AUTOCAD2010でDWG to PDFでPDF変換してます。
Adobe® Acrobat® 8 Standard を使ってます。

よろしくおねがいします。

Aベストアンサー

AutoCAD2010より低いバージョンでの話になるので参考までに。

新規作成した時に最初にできる「0」というレイヤーは印刷のときに不具合をおこす場合があるようです。
(印刷時に印刷されない等)

一度「0」のレイヤー内のオブジェクトを新たに作ったレイヤーに移して見てください!

また、Adobe Acrobatがインストールされている場合は
DWG to PDFではなく、「印刷→Adobe PDF→ファイルへ出力にチェック」を試してください!こちらの方が線がきれいにでると思います。

以上。
健闘を祈ります!!

Qexcel vba 他ファイルマクロ処理中断、自己ファイルマクロ処理後、再度他ファイルマクロ継続方法

excel vbaで、他のEXCELファイルのマクロの処理を中断して、自己ファイルのマクロを処理後、再度他のEXCELファイルのマクロを継続して再度処理を行わせるにはどうすれば良いですか。教えて下さい

他のEXCELファイルとして、フリーソフトを利用しています。
そのソフトは、モジュールにロックが掛ってるので、その中のマクロなどを編集することはできません。(ロック解除などは考えていません。)
そのソフトを起動して、データファイル入力画面で、データファイルを入力して、処理をして、処理結果を保存することを、入力データファイルを変えながら、繰り返し行いたいです。
そこで、処理マクロを作成しています。その手順とVBAを説明します。

1)フリーソフト(違法なものではありません。)を開き、
2)そのフリーソフトのシート内のボタンを、VBAで、マウスカーソルを移動させて、マウスのキー操作で、「押す」「離す」を行い、
3)ファイルの初期化の問合せの警告が出るので、キー操作で、「Y」を押し、
4)データファイルの名称をクリップボードにコピーし
5)EXCELのカレントフォルダを、データファイルのあるフォルダに変えて
6)DoEventsとして、フリーソフトのデータファイル入力画面を開いています。
この時、画面のポインタは、データ入力画面のファイル名入力欄にあり、
この後、データファイル名をクリップボードから入力したいので、
キー操作で、「crtl+v」としたいのですが
フリーソフトのマクロが起動中で、作成している処理マクロに制御が移らないためと思いますが
入力できません。(人手での入力は可能ですが)、自動化したいので、どの様にすれば良いか教えて下さい。
マクロは長いので、抜粋して記載します。

sub a()
(宣言文省略します。)
Workbooks.Open freesoft
Dim mPSet As Long
mPSet = SetCursorPos(b,c)
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
keybd_event VK_Y, 0, fKEYDOWN, 0
keybd_event VK_Y, 0, fKEYUP, 0
Application.CutCopyMode = False
Dim d As New DataObject
With d
.SetText e
.PutInClipboard
End With
ChDrive f
ChDir g
DoEvents
(ここで、止まります。)
With d
.GetFromClipboard
.GetText
End With
keybd_event VK_RETURN, 0, fKEYDOWN, 0
keybd_event VK_RETURN, 0, fKEYUP, 0
DoEvents
Dim mPSet2 As Long
mPSet2 = SetCursorPos(h, i)
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Workbooks(freesoft).SaveAs FileFormat:=xlNormal, Filename:=k
Workbooks(k).Close
End sub

excel vbaで、他のEXCELファイルのマクロの処理を中断して、自己ファイルのマクロを処理後、再度他のEXCELファイルのマクロを継続して再度処理を行わせるにはどうすれば良いですか。教えて下さい

他のEXCELファイルとして、フリーソフトを利用しています。
そのソフトは、モジュールにロックが掛ってるので、その中のマクロなどを編集することはできません。(ロック解除などは考えていません。)
そのソフトを起動して、データファイル入力画面で、データファイルを入力して、処理をして、処理結果を保...続きを読む

Aベストアンサー

フリーソフトに関する詳細が分からないのですが、たぶん、MsgBox、InputBox、または、モーダルのUserFormが表示されたタイミングで、動作待ちになっているものと思われます。動作待ちになるトリガーは、Workbooks.Open freesoftでしょうか?(Open直後にUserFormが表示される?)

であれば、次のように、Shell関数でブックを開くようにすれば良いと思います。
Dim FreeSoft
FreeSoft = Shell("Excel " & "C:\xxxxx\フリーソフト.xlsm",1)
MsgBox "フリーソフトが開くまでの時間稼ぎ!!"
AppActivate FreeSoft

その後は、SendKeysステートメントでフリーソフトを操作することになります。たぶん、mouse_eventやkeybd_event も使えると思います。
ただし、Workbooks(freesoft).SaveAs 等は使えなくなるので、SendKeysによるキーボード操作で保存動作を行う必要があります。

Qillustrator10、印刷可能範囲だけPDFに変換できますか?

よろしくお願いします。

友達にweb上でチラシを見てもらおうとしてます。

pdfに変換してweb上にアップして、友達の自宅PCにて確認してもらおうとしてますが、
PDF変換すると、画像がある範囲すべてがPDF変換されてしまいます。

プリンタで印刷できる範囲のみだけにしたいのですが、イラレで表示されている印刷可能範囲の点線の内側のみをPDF変換することは可能でしょうか?

Aベストアンサー

色々やり方はあると思いますが、私なら・・・。

1)まず、元データを「複製を保存」か「別名で保存」で保存しておきます。

2)で、すべてのレイヤーを1つにまとめて、印刷範囲の白ベタを作って【最前面】に配置します。

3)そのまま、すべてを選択して「メニューバー→オブジェクト→クリッピングマスク」を実行します。

4)これで印刷範囲のデータ出来上がり。

5)「別名で保存」か「データの書き出し」でPDFデータを作って終わり。

Qwordのマクロを自動実行する方法

excelの場合は、下記でファイルを開くと同時にマクロが自動実行されます。
 Sub Auto_Open()
  自動実行したい処理
 End Sub
wordの場合は、上記では自動実行出来ません。
wordのマクロを自動実行する方法を教えて下さい。
宜しく、お願いします。

Aベストアンサー

http://blog.livedoor.jp/akf0/archives/51340815.html
が参考になりませんか?

Qコンビニword印刷、PDF変換でok

コンビニでusbに保存したwordをPDFにへんかんすればどこのコンビニからでも印刷できますでしょうか?

パソコンは今ネット環境がありません
なのでusbを使い、印刷するしか方法が無く印刷したいものが3枚ほどなので漫画喫茶は高くなるし困っています。
詳しい方教えてください
ちなみにPDF変換をしないとwordはどこのコンビニも印刷不可ということでしょうか?

Aベストアンサー

PDFであれば、多くのコンビニで備えているマルチコピー機を使って印刷できます。
Windowsのエクスプローラーのようにフォルダーが表示されるので、
フォルダー内のファイル(PDF)選択も簡単です。
wordの印刷機能はありません。

Qセル指定後マクロ実行ボタンでオートフィルタ実行

表-1の氏名に応じた各日付に記号が入力されています。
下表の記号に日付ごとの記号合計個数が式によって入力されています。
記号の個数の値セル(E17)をアクティブし選出ボタンをクリックしたらその行記号(B17⇒"B")のみがオートフィルタで表-2のように選出表示したいのですが?
VBAでどなたかお解りになる方よろしくお願いします。

Aベストアンサー

例えば・・


フィルタ実行ボタン

Private Sub CommandButton1_Click()
    ' ↓Range("B15")は実際の条件選択の表の左上のセル番地に直す。
    If Not Intersect(Selection, Range("B15").CurrentRegion) Is Nothing Then
        With Range("A2") ' 実際の表の左上セル番地
            If ActiveSheet.AutoFilterMode Then .AutoFilter

            ' 以下同文につき省略
            .AutoFilter Field:=Selection.Column, Criteria1:=Cells(Selection.Row, "B")
        End With
    Else
        MsgBox "ERROR"
        Exit Sub
    End If
End Sub


フィルタ解除ボタン

Private Sub CommandButton2_Click()
    If ActiveSheet.AutoFilterMode Then Range("A2").AutoFilter
End Sub


こんな感じでしょうか。



でも、この程度なら手動でフィルタをかけた方が早くないですかね?
と言う素朴な疑問です。

例えば・・


フィルタ実行ボタン

Private Sub CommandButton1_Click()
    ' ↓Range("B15")は実際の条件選択の表の左上のセル番地に直す。
    If Not Intersect(Selection, Range("B15").CurrentRegion) Is Nothing Then
        With Range("A2") ' 実際の表の左上セル番地
            If ActiveSheet.AutoFilterMode Then .AutoFilter

            ' 以下同文につき省略
            .AutoFilter Field:=Selection.Column, Criteria1:=Cells(Selecti...続きを読む

Qイラストレータ→PDF変換で、必要な部分だけ印刷したい

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷」みたいなことは出来るのでしょうか?
スライスを使用したりして多少の悪あがきはしてみましたが…
これが限界のようです。
何か良い知恵があれば是非是非ご教授のほどお願いいたします。

また、PDFファイルに変換すると絵全体が白っぽくなるのですが…
これの回避の仕方などはあるのでしょうか?
過去の質問を見たのですがMacでの質問しか見つけられなかったので、
これも一緒に質問させていただきます。

因みにパソコンはWin2000(イラレ搭載)とWinXP(印刷用)、
使用してるのはAcrobat Reader 5.0になります。
他足りない情報があればご指摘くださればすぐに補足させて頂きます。
どうぞよろしくお願いいたします。

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷...続きを読む

Aベストアンサー

「書類サイズ」が大きいのではないでしょうか。それを用紙サイズと同じにしてからpdfで保存すればその範囲のものしかできないと思います。
当方CSは使っていませんが同様では?違っていたらゴメンナサイ。

QVBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで

VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで次の処理を待機させる方法について

こんにちは。VBA初心者です。

Shell関数を使って複数のバッチを連続して実行するプログラムを書きたいのですが、前のバッチ処理が終了する前に次のバッチが実行されてしまいエラーになってしまいます。

1つのバッチ処理が終了するまで、次の処理を待機させるようなことは可能でしょうか。

具体的には、B列に「test_01.txt」「test_02.txt」... といったファイル名が入力されていて、隣のA列に何らかの文字/記号があった場合は、指定されたバッチ(ファイル名.bat)が実行されるということをやりたいと考えています。

以下のようなプログラムを書いてみましたが、実行するバッチが複数になるとうまくいきせん。
どうしたら問題を回避できるか、ご教示いただけないでしょうか。
よろしくお願いします。

Sub バッチを実行()
i = 7 'リストの開始行
Const myPath As String = "D:\sample_batch\"
  Const endPath As String = ".bat"

 For i = 7 To 200 '7行目から200行目まで実行

If Cells(i, 1).Value <> "" Then
Shell (myPath & Cells(i, 2).Value & endPath)

End If
Next
End Sub

VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで次の処理を待機させる方法について

こんにちは。VBA初心者です。

Shell関数を使って複数のバッチを連続して実行するプログラムを書きたいのですが、前のバッチ処理が終了する前に次のバッチが実行されてしまいエラーになってしまいます。

1つのバッチ処理が終了するまで、次の処理を待機させるようなことは可能でしょうか。

具体的には、B列に「test_01.txt」「test_02.txt」... といったファイル名が入力されていて、隣のA列に何らかの文...続きを読む

Aベストアンサー

確かに。。。andy_kunさんのおっしゃるように「"」の付け方が怪しかったですね。

バッチファイルまでのパスにスペースが無いならandy_kunさんの回答通りで。
ある(かもしれない)なら
 objWShell.Run """" & myPath & Cells(i, 2).Value & endPath & """", 1, True
で。

ただ、私の場合
 実行時エラー'91' オブジェクト変数または With ブロック変数が設定されていません。
じゃなくてオートメーションエラーになりましたが。。。

Qエクセルファイルを印刷のところからPDFに変換

こんにちは。
会社で私が使ってるパソコンだけが、ファイルメニューの印刷を選んで、出てきた印刷ウインドウの中にプリンターの名前と一緒にAdobe PDF とあるので、それを選択すると簡単にPDFファイルに変換出来ます。
これは他のパソコンには入っていないようです。他の人が同じようにしてくれと言ってきますが、私もどうしてこうなっているのか記憶にありません。何かのプラグインが入っているのでしょうか?

ウインドウズXP で オフィス2000です。

よろしくお願いします。

Aベストアンサー

Adobe Acrobat が導入されていると考えるのが普通でしょう。
http://www.kit-systems.co.jp/webkcore/maketemplate9/maketemplate9-2.htm

http://dopub.jp/aboutpdf.php
でそう表示されています。

ちなみに「CubePDF」ではAdobe PDFとは表示されず、CubePDFと表示されます。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1331cubepdf/cubepdf.html

Qexcelシートにマクロ実行ボタンを何個か置いて、実行ボタンを押したら指定フォルダ内の...

excelシートにマクロ実行ボタンを何個か置いて、実行ボタンを押したら指定フォルダ内excelシート,accessシート等を開くプログラム教えてぇ~ ください^^

Aベストアンサー

シート上にコマンドボタンを貼り付け、Wクリックすると
VBEの画面に飛んで
Private Sub CommandButton1_Click()

End Sub
が出る。
その間に
指定フォルダの師弟ブックの
ブックを開き、
指定名のシートをSelectする。
>実行ボタンを何個か置いて、
はどういう意味が有るのか説明不足。
ーー
>accessシート
アクセスでシートとは?
結局指定Mdbファイルを開き、指定テーブルなり、指定クエリを開けばよいのでは。
Googleででも調べればコード例が出てくることではないですか。
例 「アクセス テーブル 開く VBA」
「エクセルから アクセス テーブル 開く VBA」  など
他人に頼りすぎ。またはもう少し判らない(行き詰まった)点に絞って質問したほうが、質問者が進歩すると思う。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報