我在VB6中有一个代码,它显示来自excel的图像到图片框中,这是代码。
Dim appExcel As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlsSheet As Excel.Worksheet
Dim img As Image
Set appExcel = New Excel.Application
Set xlsBook = appExcel.Workbooks.Open(Text1.Text)
Set xlsSheet = xlsBook.Worksheets("Sheet1")
Dim x As Excel.Shape
For Each x In xlsSheet.Shapes
x.Copy
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Text2.Text = x.Name
Next
在图片框附近,我还有一个文本框,我的目标是显示图像的单元格位置。我怎样才能做到这一点?
这是更新。
我的excel格式看起来像这样。
根据上面的代码,我可以为excel附近的每个对象显示从excel到picturebox的图像。我的问题是可以得到它们下方的标签吗?
更新
根据我使用的格式,我尝试在每个名为Image Name
的图片中添加一个新列,并将名称IMAGE 1
...添加到IMAGE 9
,因为我有9张图片现在这是我的代码。
Dim appExcel As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlsSheet As Excel.Worksheet
Dim img As Image
Dim rowlocation As Integer
Dim columnlocation As Integer
Dim celladdress As String
Set appExcel = New Excel.Application
Set xlsBook = appExcel.Workbooks.Open(Text1.Text)
Set xlsSheet = xlsBook.Worksheets("Sheet1")
Dim x As Excel.Shape
For Each x In xlsSheet.Shapes
x.Copy
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Text2.Text = x.Name
rowlocation = x.TopLeftCell.Row
columnlocation = x.TopLeftCell.Column
celladdress = Cells(rowlocation + 3, columnlocation + 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
MsgBox ActiveSheet.Range(celladdress)
Next
当选择图片时,会出现正确的Image Name
,例如在Image 2
而不是图片名称,Image Name
会显示。
答案 0 :(得分:3)
假设Shape
包含在单个单元格中,您可以使用:
x.TopLeftCell.Address
通过图片,它更有可能覆盖多个单元格,因此您可以构建它所占用的完整Range
个单元格:
x.TopLeftCell.Address & ":" & x.BottomRightCell.Address