0

以下のコードを使用して Excel シートにファイルを添付していますが、機能しますが、ファイルが他のファイルの上に配置されます。ファイルを各セルに個別に配置するにはどうすればよいですか?

   For Each elAtt In AttachList
    Set MyAtt = Bug.Attachments.Item(elAtt.ID)
    MyAtt.Load True, ""
    'MsgBox MyAtt.Filename
    ActiveSheet.Cells(i, 2).Value = MyAtt.Filename
    ActiveSheet.Cells(i, 3).Value = MyAtt.Description
    ActiveSheet.Cells(i, 4).Select
    ActiveSheet.OLEObjects.Add Filename:=MyAtt.Filename, Link:=False, DisplayAsIcon:=False, Left:=40, Top:=40, Width:=20, Height:=10
    'ActiveSheet.Cells(i, j).Value = Left(MyAtt.Filename, InStrRev(MyAtt.Filename, "\") - 1)
    'theFileName = MyAtt.Filename
    'thePath = Left(theFileName, InStrRev(theFileName, "\") - 1)
    Set MyAtt = Nothing
i = i + 1
Next
4

1 に答える 1

0

答えは、コードのこの行の構造に隠されています。

ActiveSheet.OLEObjects.Add Filename:=MyAtt.Filename, Link:=False, _
         DisplayAsIcon:=False, Left:=40, Top:=40, Width:=20, Height:=10

Add method次の構文を参照しますOLEObjects collection

expression.Add(ClassType, FileName, Link, _
         DisplayAsIcon, IconFileName, IconIndex, IconLabel, Left, Top, Width, Height)

のパラメータを変更する必要がLeftあります。解決策は次のようになります。Top.Add method

ActiveSheet.OLEObjects.Add Filename:=MyAtt.Filename, Link:=False, _
          DisplayAsIcon:=False, Left:=Cells(i, 4).Left, Top:=Cells(i, 4).Top, _
          Width:=20, Height:=10
于 2013-07-31T06:13:25.103 に答える