gooドクター有料プランが1ヶ月間無料!

エクセルのマクロを使用して作業したいと思っています。
印刷画面をpdfにして出力しようと思っております
ただし、ここで使用しております エクセルデータは usbで使用しており
pcによりドライブが変わってしまう
このusbに pdfデータを出力したいのですができますでしょうか
pdf変換しておくとプリンタなくても コンビニ印刷できるもので・・・

詳しい方 お教えください
宜しくお願い致します

gooドクター

A 回答 (4件)

スミマセン,随分間の空いたレスポンスでしたので,こちらも見落としていました。




>ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"I:\H23年度\マレットゴルフ 成績表.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

ようやっと,ご利用のエクセルのバージョンを含めてそもそもどうやってPDFを保存しているのかの情報が出てきましたね。
この流れで行うなら

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=thisworkbook.path & "\マレットゴルフ 成績表.pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True

といった具合になります。
ドライブレターだけ参照して全く違うフォルダに保存したい場合は,前述回答を参考にちょい直してください。
    • good
    • 0

>今回使用するエクセルのファイルのあるドライブにPDFを書き出したいのですが


失礼しました。
既に回答がでていますよね
ThisWorkbook.Path
で、そのでエクセルの保存されているドライブとパスが文字列で得られます。
もし、ドライブ名だけであれば、最初の2文字を取り出してみてください。

使用するエクセルのファイルに
Sub ボタン1_Click()
Range("A1").Value = ThisWorkbook.Path
Range("A2").Value = Left(ThisWorkbook.Path, 2)
End Sub
で試してみてください。

この回答への補足

確認したドライブをどの様に反映したら良いのでしょうか
例えば、ファイルが、gドライブにあるということが解ったとして
ドライブ先 g:を 変数なんかに入れて ファイルのあるusbに入れたいのです 変数:drに g をいれ dr:abcde.pdf みたいにしたいのですが

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"I:\H23年度\マレットゴルフ 成績表.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

の I:をどの様にすればよいのでしょうか
宜しくお願い致します

補足日時:2011/05/19 23:56
    • good
    • 0

http://www.moug.net/tech/acvba/0020011.htm
のあたりが参考になると思います。
VBエディターを開いて
ツール=>参照 から Microsoft Scripting Runtime にチェックして
Sub ボタン1_Click()
Dim myFileSystem As New Scripting.FileSystemObject
Dim myDrive As Scripting.Drive
Dim myDriveType() As Variant
'ドライブの種類を配列に設定しておく
myDriveType = Array("不明", "リムーバブル ディスク", _
"ハードディスク", "ネットワークドライブ", "CD-ROM", "RAMディスク")
i = 1
'すべてのドライブの名前と種類を表示する
For Each myDrive In myFileSystem.Drives
Range("C" & i).Value = myDrive.DriveLetter & _
":" & myDriveType(myDrive.DriveType)
i = i + 1
Next
End Sub
とでもすれば、パソコンにつながっているドライブの一覧が得られます。
その結果を利用してみてください。
但し、USBが2つあった場合などは、それなりの運用が必要になります。

この回答への補足

説明が悪くて済みませんでした
usbドライブのドライブ番号が知りたいのではなくて

今回使用するエクセルのファイルのあるドライブにPDFを書き出したいのですが

エクセルデータのドライブを読み出して、変数かに入れ PDFを書き出すドライブ指定に使いたいのですが
宜しくお願い致します

補足日時:2011/05/12 10:52
    • good
    • 0

>エクセルデータは usbで使用しておりpcによりドライブが変わってしまう



thisworkbook.path
あるいは
left(thisworkbook.path, 1)
などで,ドライブレターや保存先を確認できます。

この回答への補足

確認したドライブをどの様に反映したら良いのでしょうか
例えば、ファイルが、gドライブにあるということが解ったとして
ドライブ先 g:を 変数なんかに入れて ファイルのあるusbに入れたいのです 変数:drに g をいれ dr:abcde.pdf みたいにしたいのですが

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"I:\H23年度\マレットゴルフ 成績表.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

の I:をどの様にすればよいのでしょうか
宜しくお願い致します

補足日時:2011/05/19 23:55
    • good
    • 0

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

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

gooドクター

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

人気Q&Aランキング