Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3553 / 13644 ツリー ←次へ | 前へ→

【61344】ExcelからのPDF変換について(マクロ化) TOKU 09/4/28(火) 14:13 質問[未読]
【61350】Re:ExcelからのPDF変換について(マクロ化) つるりん 09/4/29(水) 11:25 発言[未読]
【61380】Re:ExcelからのPDF変換について(マクロ化) TOKU 09/5/5(火) 12:37 発言[未読]
【61389】Re:ExcelからのPDF変換について(マクロ化) street 09/5/5(火) 21:16 回答[未読]
【61435】Re:ExcelからのPDF変換について(マクロ化) TOKU 09/5/8(金) 9:11 発言[未読]
【61452】Re:ExcelからのPDF変換について(マクロ化) street 09/5/8(金) 18:45 回答[未読]
【61454】Re:ExcelからのPDF変換について(マクロ化) TOKU 09/5/8(金) 22:53 お礼[未読]

【61344】ExcelからのPDF変換について(マクロ化)
質問  TOKU  - 09/4/28(火) 14:13 -

引用なし
パスワード
   標題の件ですが、何方か教えて下さい。

【内容】
 ・Excelのファイルから印刷でPDF変換させる時にExcelファイルのD1のセルに
  記載されているワードと同じワードであれば、キーワードを入力させ、
  そのキーワードがExcelのA1のセルに記載されているワードと同じなら
  PDF変換させたい

【その他の条件】
 ・他のExcelファイル時でも対応できるようにしたい

【61350】Re:ExcelからのPDF変換について(マクロ...
発言  つるりん  - 09/4/29(水) 11:25 -

引用なし
パスワード
   > ・Excelのファイルから印刷でPDF変換させる時に⇒意味不明
>  記載されている⇒どこに?
   ワードと同じワードであれば、キーワードを入力させ、
   キーワードって?
>  そのキーワードがExcelのA1のセルに記載されているワードと同じなら
>  PDF変換させたい
   エクセルのA1セルはシートの数だけ存在するのだが?
>
>【その他の条件】
> ・他のExcelファイル時でも対応できるようにしたい

【61380】Re:ExcelからのPDF変換について(マクロ...
発言  TOKU  - 09/5/5(火) 12:37 -

引用なし
パスワード
   説明が不十分で申し訳ありません。
再度下記に説明いたします。

【内容】
 ・Excelのファイルメニューから印刷のプリンタ設定でPDF変換させる時に
  ExcelファイルsheetのD1のセルに記載されている”テスト1”という
  ワードがあると仮定します。そのワードと同じあれば、
  ユーザーフォームを表示させキーワードを入力させるようにし、
  そのキーワードがExcelsheetのA1のセルに記載されている
  ワード”テスト2”と同じならPDF変換させるようにしたい。

簡単に言うとPDF変換させる前にパスワード的なものをワンクッション入れたいです。

【その他の条件】
 ・他のExcelファイル時でも対応できるようにしたい


▼つるりん さん:
>> ・Excelのファイルから印刷でPDF変換させる時に⇒意味不明
>>  記載されている⇒どこに?
>   ワードと同じワードであれば、キーワードを入力させ、
>   キーワードって?
>>  そのキーワードがExcelのA1のセルに記載されているワードと同じなら
>>  PDF変換させたい
>   エクセルのA1セルはシートの数だけ存在するのだが?
>>
>>【その他の条件】
>> ・他のExcelファイル時でも対応できるようにしたい

【61389】Re:ExcelからのPDF変換について(マクロ...
回答  street  - 09/5/5(火) 21:16 -

引用なし
パスワード
   横から失礼します。
再度の説明を見てもよくわからないのですが^^

ユーザがマクロを使わずに手操作でPDF印刷を行ったら
パスを設定する意味ないと思いますが、何を制限させたいのでしょう?

ExcelファイルsheetのD1のワードとどこに入力されているワードが
同じであればいいのですか?

参照するパスはシートに入力しておくよりマクロ内に記述しておく方が
いいような。

>他のExcelファイル時でも対応できるようにしたい
上記についてはマクロファイルを独立させればいいでしょう。

以下に、簡単にパスを照合して、あっていたらプリンタ指定ダイアログを
表示しPDFを選択すればPDF出力できる。というマクロです。
参考になりますか?

Sub Macro1()
Dim keyWD1 As String, keyWD2 As String
  keyWD1 = "123" ←パスワード
  keyWD2 = Application.InputBox("パス入力")
  If keyWD2 = "False" Then
    Exit Sub
  ElseIf keyWD1 = keyWD2 Then
  On Error Resume Next
    Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveSheet.PrintOut
  On Error GoTo 0
  Else
    MsgBox "パスが違います"
    Exit Sub
  End If
  
End Sub

【61435】Re:ExcelからのPDF変換について(マクロ...
発言  TOKU  - 09/5/8(金) 9:11 -

引用なし
パスワード
   すごく参考になりました。やりたい事に凄く近いのですが、
ファイルメニューから印刷をクリックした時にパスワードを照合させる事は
出来ないのでしょうか??


▼street さん:
>横から失礼します。
>再度の説明を見てもよくわからないのですが^^
>
>ユーザがマクロを使わずに手操作でPDF印刷を行ったら
>パスを設定する意味ないと思いますが、何を制限させたいのでしょう?
>
>ExcelファイルsheetのD1のワードとどこに入力されているワードが
>同じであればいいのですか?
>
>参照するパスはシートに入力しておくよりマクロ内に記述しておく方が
>いいような。
>
>>他のExcelファイル時でも対応できるようにしたい
>上記についてはマクロファイルを独立させればいいでしょう。
>
>以下に、簡単にパスを照合して、あっていたらプリンタ指定ダイアログを
>表示しPDFを選択すればPDF出力できる。というマクロです。
>参考になりますか?
>
>Sub Macro1()
>Dim keyWD1 As String, keyWD2 As String
>  keyWD1 = "123" ←パスワード
>  keyWD2 = Application.InputBox("パス入力")
>  If keyWD2 = "False" Then
>    Exit Sub
>  ElseIf keyWD1 = keyWD2 Then
>  On Error Resume Next
>    Application.Dialogs(xlDialogPrinterSetup).Show
>    ActiveSheet.PrintOut
>  On Error GoTo 0
>  Else
>    MsgBox "パスが違います"
>    Exit Sub
>  End If
>  
>End Sub

【61452】Re:ExcelからのPDF変換について(マクロ...
回答  street  - 09/5/8(金) 18:45 -

引用なし
パスワード
   Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim keyWD1 As String, keyWD2 As String
  keyWD1 = "123"
  keyWD2 = Application.InputBox("パス入力")
  If keyWD2 = "False" Then
    Exit Sub
  ElseIf keyWD1 = keyWD2 Then
    Exit Sub
  Else
    MsgBox "パスが違います"
    SendKeys "{ESC}"
    Exit Sub
  End If
End Sub
エラートラップなどしていないので、使用状況にあわせて設定されてください。

【61454】Re:ExcelからのPDF変換について(マクロ...
お礼  TOKU  - 09/5/8(金) 22:53 -

引用なし
パスワード
   street さん
ありがとうございました。大変勉強になりました。
お蔭様でやりたい事が出来ました。
また機会がありましたら宜しくお願いします。


▼street さん:
>Private Sub Workbook_BeforePrint(Cancel As Boolean)
>Dim keyWD1 As String, keyWD2 As String
>  keyWD1 = "123"
>  keyWD2 = Application.InputBox("パス入力")
>  If keyWD2 = "False" Then
>    Exit Sub
>  ElseIf keyWD1 = keyWD2 Then
>    Exit Sub
>  Else
>    MsgBox "パスが違います"
>    SendKeys "{ESC}"
>    Exit Sub
>  End If
>End Sub
>エラートラップなどしていないので、使用状況にあわせて設定されてください。

3553 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free