2017-11-27 5 views
1

Excelでマクロを見つけたり書き込んだりして、セルに画像を挿入できるようにしました。挿入された画像がExcelで表示されない(サイズ変更の枠のみ)

Sub InsertAndSizePhoto() 
    Dim sFileName As String 
    Dim oShape As Shape 
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub 
    Dim myPath As String 
    Dim folderPath As String 

    folderPath = Application.ActiveWorkbook.Path 
    sFileName = Application.GetOpenFilename(_ 
     FileFilter:="Images (*.gif;*.jpg;*.png), *.gif;*.jpg;*.png", _ 
     FilterIndex:=1, _ 
     Title:="Insert Picture", _ 
     ButtonText:="Insert", _ 
     MultiSelect:=False) 
    If sFileName = "False" Then Exit Sub 

    With ActiveCell.MergeArea 
     ActiveSheet.Shapes.AddPicture _ 
      Filename:=sFileName, _ 
      LinkToFile:=msoFalse, _ 
      SaveWithDocument:=msoTrue, _ 
      Left:=.Left, _ 
      Top:=.Top, _ 
      Width:=.Width, _ 
      Height:=.Height 
    End With 
End Sub 

倍数のピクチャが挿入され、フィットしても表示されないことがあります。画像をクリックすると、サイジングウィンドウ/境界線のみが表示されます。印刷プレビューでは表示されません。文書をPDFで印刷すると、その文書が表示されます。

ブックを再度開くと、画像が再び表示されます。この問題の原因は何ですか?どのように解決することができますか?オプションでは、すべてのオブジェクトが表示されます。

sample of picture

+0

ない画像として、として適切にフォーマットとインデントテキストあなたのコードを投稿してください。 –

+0

@E。 Villiger:上記のコードを見つけてください。 – user8836227

+0

使用しているExcelのバージョンは? –

答えて

0

ここPictures.Insertを使用するためのサンプルコードです:

With ActiveSheet.Pictures.Insert(Filename:=sFileName, LinkToFile:=False, SaveWithDocument:=True) 
    .Placement = xlMoveAndSize 
    With .ShapeRange 
     .Height = ActiveCell.MergeArea.Height 
     .Width = ActiveCell.MergeArea.Width 
     .Left = ActiveCell.MergeArea.Left 
     .Top = ActiveCell.MergeArea.Top 
    End With 
End With 
関連する問題