在VB对 excel 内插入图片 (可能较简单) 20
目录结构c:\图片\a.bmp(大小约800*600)C:\图片\b.bmp(大小约640*480)c:\123.xls(一个普通的表格)现在把上面两个图片通过vb的代码...
目录结构
c:\图片\a.bmp (大小约 800*600)
C:\图片\b.bmp (大小约 640*480)
c:\123.xls (一个普通的表格)
现在把上面两个图片通过vb的代码来把它们插入到123.xls这个表格里(就先临时放在a1,a2这两个单元格里吧)
问题关键: 我只想让我的 a1,a2单元格大小固定不变。(也就是说图片到excel表格里会自动缩放成单元格的大小,而不是单元格随着图片来变大小)
谢谢!
excel的访问可以不写,只要写一下关键的语句就可以了。
fushxp :
经测试VB提示“不能取得类pictures的insert属性。 展开
c:\图片\a.bmp (大小约 800*600)
C:\图片\b.bmp (大小约 640*480)
c:\123.xls (一个普通的表格)
现在把上面两个图片通过vb的代码来把它们插入到123.xls这个表格里(就先临时放在a1,a2这两个单元格里吧)
问题关键: 我只想让我的 a1,a2单元格大小固定不变。(也就是说图片到excel表格里会自动缩放成单元格的大小,而不是单元格随着图片来变大小)
谢谢!
excel的访问可以不写,只要写一下关键的语句就可以了。
fushxp :
经测试VB提示“不能取得类pictures的insert属性。 展开
4个回答
展开全部
用宏(VBA)还是VB啊
这个是用宏写的,只写了A1的调整A1时图片可以自动缩放
Sub Macro1()
Range("A1").Select
ActiveSheet.Pictures.Insert("c:\图片\a.bmp").Select
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = Worksheets(1).Cells(1, 1).Height
.ShapeRange.Width = Worksheets(1).Cells(1, 1).Width
.ShapeRange.IncrementLeft 0
.ShapeRange.IncrementTop 0
.Placement = xlMoveAndSize
End With
End Sub
这个是用宏写的,只写了A1的调整A1时图片可以自动缩放
Sub Macro1()
Range("A1").Select
ActiveSheet.Pictures.Insert("c:\图片\a.bmp").Select
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = Worksheets(1).Cells(1, 1).Height
.ShapeRange.Width = Worksheets(1).Cells(1, 1).Width
.ShapeRange.IncrementLeft 0
.ShapeRange.IncrementTop 0
.Placement = xlMoveAndSize
End With
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-11-22
展开全部
''插图
xx = 5
Do While (xx <= i)
strMiddle1 = xlsSheet.Cells(xx, 5)
If (PathFileExists("C:\\Kuanhao\\" + strMiddle1 + ".jpg")) Then
Left = xlsSheet.Cells(xx, 5).Left + 5
Top = xlsSheet.Cells(xx, 5).Top + 5
Set oPic = xlsSheet.Pictures.Insert("C:\\Kuanhao\\" + strMiddle1 + ".jpg") '
'调整位置
oPic.Top = Top
oPic.Left = Left
oPic.Width = Width
oPic.Height = Height
Set oPic = Nothing
''xlsSheet.Shapes.AddShape(msoShapeRectangle, Left, Top, Width, Height).Fill.UserPicture ("C:\\Kuanhao\\" + strMiddle1 + ".jpg")
End If
xx = xx + 6
Loop
xx = 5
Do While (xx <= i)
strMiddle1 = xlsSheet.Cells(xx, 5)
If (PathFileExists("C:\\Kuanhao\\" + strMiddle1 + ".jpg")) Then
Left = xlsSheet.Cells(xx, 5).Left + 5
Top = xlsSheet.Cells(xx, 5).Top + 5
Set oPic = xlsSheet.Pictures.Insert("C:\\Kuanhao\\" + strMiddle1 + ".jpg") '
'调整位置
oPic.Top = Top
oPic.Left = Left
oPic.Width = Width
oPic.Height = Height
Set oPic = Nothing
''xlsSheet.Shapes.AddShape(msoShapeRectangle, Left, Top, Width, Height).Fill.UserPicture ("C:\\Kuanhao\\" + strMiddle1 + ".jpg")
End If
xx = xx + 6
Loop
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Worksheets(1).Pictures.Insert(strPicname).Select
Set rng = Worksheets(1).Cells(i, 1)
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = rng.Height
.ShapeRange.Width = rng.Width
.Top = rng.Top + 1
.Left = rng.Left + 1
End With
其中strPicname为包含完整路径的图片名称
看下完整的代码,Hi你了。
Set rng = Worksheets(1).Cells(i, 1)
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = rng.Height
.ShapeRange.Width = rng.Width
.Top = rng.Top + 1
.Left = rng.Left + 1
End With
其中strPicname为包含完整路径的图片名称
看下完整的代码,Hi你了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EXCEL内的图片只能是悬浮的吧?不管谁跟着谁变都不可能吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询