2016-04-18 6 views
0

テキストを含むイメージを含む印刷可能な単一ページのPDFレポートとして使用するExcelワークシートがあります。側面の列には、特定のフォルダ内のすべての画像のリストがあり、VBAを使用してワークシート内の画像を置き換え、同じフォルダに保存するPDFを作成することができます。私は現在、手動でこれを行います。これは痛みであり、VBAで自動化したいのです。Excel VBAでイメージを置き換え、PDFを作成し、フォルダ内の次のイメージに移動して、繰り返します。

ご協力いただければ幸いです。

ありがとうございます。その後

私は交換する画像の完全なパスを変更しててmanualy使用したコードは次のようにされて>

Sub AddPicturesFULL() 
Dim myPic As Picture 
Dim wkSheet As Worksheet 
Dim myRng As Range 
Dim myCell As Range 
Dim rowCount As Long 
Dim rowCount2 As Long 
Dim Pic As Object 

    Set wkSheet = Sheets("REPORT(FULL)") ' -- Change to your sheet 

    For Each Pic In wkSheet.Pictures 
    Pic.Delete 
    Next Pic 

    '-- The usual way of finding used row count for specific column 
    rowCount2 = wkSheet.Cells(wkSheet.Rows.Count, "N").End(xlUp).Row 

    If rowCount2 <> 0 Then 
     Set myRng = wkSheet.Range("N2", wkSheet.Cells(wkSheet.Rows.Count, "N").End(xlUp)) 

     For Each myCell In myRng.Cells 
       If Trim(myCell.Value) = "" Then 
        'MsgBox "No file path" 
       ElseIf Dir(CStr(myCell.Value)) = "" Then 
        MsgBox myCell.Value & " Doesn't exist!" 
       Else 
        'myCell.Offset(0, 1).Parent.Pictures.Insert (myCell.Value) 
        Set myPic = myCell.Parent.Pictures.Insert(myCell.Value) 

        With myCell.Offset(0, -13) '1 columns to the right of C (is D) 
         '-- resize image here to fit into the size of your cell 
         myPic.Top = .Top 
         myPic.Width = .Width 
         myPic.Height = 640 
         myPic.Left = .Left 
         myPic.Placement = xlMoveAndSize 
         myPic.SendToBack 
        End With 
       End If 
     Next myCell 

    Else 
     MsgBox "There is no file paths in your column" 
    End If 

End Sub 

答えて

1

代わりに写真

を描く使用のシート上のActiveXイメージを作成します。あなたがすることができます

Dim i As Integer 

For i = 1 To 20 Step 1 

    imgTest.Picture = LoadPicture(Sheets("Sheet1").Cells(i, COLUMN).Value) 

    Sheets("Sheets1").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\test" & i & ".pdf", Quality:=xlQualityStandard 
Next i 

イメージパスで列をループし、それぞれのイメージを設定するには次に、PDFとしてエクスポートします。

もちろん、i値とCOLUMNを必要に応じて調整する必要があります。

+0

これはうまくいかないようです。私はCOLUMNを私のフルパスが表示されている "A"に置き換えました。私は "エラー481 - 無効な画像"を取得します。私の写真は違いがある場合の.tif形式です。助言がありますか? – burt46

+0

セル機能では、charの代わりにIntegerを使用する必要があります。 Aの代わりに1、Bの代わりに2を使用するなどです。 ActiveX Imageでは.TIFはサポートされていません。だからあなたは別のものを試しなければならない。申し訳ありません – gizlmo

+0

他のアイデアや上記の私の元のコードを変更する方法 – burt46

関連する問題