Excel VBA質問箱 IV

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

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


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

【54118】LoadPictureを使ってユーザフォームにpdfのイメージを表示させたい 31 08/2/25(月) 16:22 質問[未読]
【54123】Re:LoadPictureを使ってユーザフォームにp... ichinose 08/2/25(月) 18:19 発言[未読]
【54141】Re:LoadPictureを使ってユーザフォームにp... 31 08/2/26(火) 14:43 質問[未読]
【54155】Re:LoadPictureを使ってユーザフォームにp... VBWASURETA 08/2/26(火) 21:36 回答[未読]
【54178】Re:LoadPictureを使ってユーザフォームにp... 31 08/2/27(水) 22:54 お礼[未読]

【54118】LoadPictureを使ってユーザフォームにpd...
質問  31  - 08/2/25(月) 16:22 -

引用なし
パスワード
   VBA超初心者です。
出来るかどうか分かりませんが、教えてください。

ユーザフォーム上にPDFのイメージを表示させたいです。
その際、表示するファイル名を変数としていますが、コンパイルエラーが発生し、
記述方法が分からないので、ご教示をおねがいします。

***以下ソースです。***

'選択対象データの画像表示
  Me.Image1.Picture = _
  LoadPicture("c:\" & Filename.pdf)

Filenameに001や002などの値を入れて、いくつかのpdfを表示させる処理です。
レベルが低くてすみませんが、ご教示お願いします。

【54123】Re:LoadPictureを使ってユーザフォームに...
発言  ichinose  - 08/2/25(月) 18:19 -

引用なし
パスワード
   ▼31 さん:

こんばんは。

>
>ユーザフォーム上にPDFのイメージを表示させたいです。
>その際、表示するファイル名を変数としていますが、コンパイルエラーが発生し、
>記述方法が分からないので、ご教示をおねがいします。
>
>***以下ソースです。***
>
>'選択対象データの画像表示
>  Me.Image1.Picture = _
>  LoadPicture("c:\" & Filename.pdf)

Imageコントロールって、Pdfはサポートされていないですよ!!


ユーザーフォームでPDFなら、
その他のコントロールに

ActiveX用Acrpbatコントロール
(pdf.ocx)というのがPCにあれば、使えます。

これを使えば、

Private Sub UserForm_Initialize()
  Pdf1.LoadFile "D:\xxxx.pdf"
End Sub

なんてコードでPDFファイルが表示されます。

ためして見てください

【54141】Re:LoadPictureを使ってユーザフォームに...
質問  31  - 08/2/26(火) 14:43 -

引用なし
パスワード
   ▼ichinose さん:

こんにちは。

>▼31 さん:
>
>こんばんは。
>
>>
>>ユーザフォーム上にPDFのイメージを表示させたいです。
>>その際、表示するファイル名を変数としていますが、コンパイルエラーが発生し、
>>記述方法が分からないので、ご教示をおねがいします。
>>
>>***以下ソースです。***
>>
>>'選択対象データの画像表示
>>  Me.Image1.Picture = _
>>  LoadPicture("c:\" & Filename.pdf)
>
>Imageコントロールって、Pdfはサポートされていないですよ!!
>
>
>ユーザーフォームでPDFなら、
>その他のコントロールに
>
>ActiveX用Acrpbatコントロール
>(pdf.ocx)というのがPCにあれば、使えます。
>
>これを使えば、
>
>Private Sub UserForm_Initialize()
>  Pdf1.LoadFile "D:\xxxx.pdf"
>End Sub
>
>なんてコードでPDFファイルが表示されます。
>
>ためして見てください


ご回答ありがとうございます。
早速、教えて頂いた要領でPDFファイルの表示ができるようになりました。
ありがとうございました。

ただ、定数での表示はできるのですが、変数(ワイルドカードを含む)でのPDFファイルの
表示が上手くいきません。
コーディングの問題だと思いますので、教えて頂けますでしょうか。

Private Sub Userform_Initialize()
    Pdf1.LoadFile "c:\ab001.pdf"
End Sub
だと「ab001.pdf」というファイルが表示できます。


Cドライブ以下に「ab001.pdf」や「e002gh.pdf」、「003ut.pdf」というPDFファイルがある場合に
Filenameに「001」や「002」「003」を代入して、Cドライブ内の該当するPDFファイルを表示したいです。
Filenameの前後にワイルドカードの"*"を付けることにより検索をしたいのですが、上手くいきません。


----以下コーディングです。----

'BD1には処理の状況によって001,002,003が入ってくる。
Set name = Worksheets(1).Range("BD1")

With Application.FileSearch
  .NewSearch
  .LookIn = "C:\"
  .Filename = "*name*.pdf" ← ここでワイルドカードを指定したいです。
  If .Execute > 0 Then
    For i = 1 To .Execute
      Cells(i + 1, 50).Value = .FoundFiles(i)
    Next i

'選択対象データの画像表示
  Pdf1.LoadFile "c:\Filename.pdf"


上記の箇所でワイルドカード"*"を定義すればよいと思うのですが、
コーディングの書き方が分からないので教えてください。


よろしくお願い致します。

【54155】Re:LoadPictureを使ってユーザフォームに...
回答  VBWASURETA  - 08/2/26(火) 21:36 -

引用なし
パスワード
   ▼31 さん:

こんばんは。

ざっと書きます。

  .Filename = "*name*.pdf" ← ここでワイルドカードを指定したいです。

ですが、全部文字列になってますよ。

「"」で囲まれた範囲は全て文字列の扱いになります。

nameを変数としたい場合は「&」で区切って変数は「"」で囲まないように
すれば変数の扱いです。

  .Filename = "*" & name & "*.pdf"

こんな感じです。

【54178】Re:LoadPictureを使ってユーザフォームに...
お礼  31  - 08/2/27(水) 22:54 -

引用なし
パスワード
   ▼VBWASURETA さん:
>▼31 さん:

こんばんは。

>
>こんばんは。
>
>ざっと書きます。
>
>  .Filename = "*name*.pdf" ← ここでワイルドカードを指定したいです。
>
>ですが、全部文字列になってますよ。
>
>「"」で囲まれた範囲は全て文字列の扱いになります。
>
>nameを変数としたい場合は「&」で区切って変数は「"」で囲まないように
>すれば変数の扱いです。
>
>  .Filename = "*" & name & "*.pdf"
>
>こんな感じです。


ご指摘ありがとうございました。
無事ワイルドカードを使用して、ユーザフォーム上でPDFファイルを
表示することができました。

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