Excel VBA 将图片保存到本地文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA 将图片保存到本地文件夹相关的知识,希望对你有一定的参考价值。
我想实现单点击“上传”按钮时,把文本框中所示路径下的图片,保存在指定的文件夹内。
保存时文件名改成下面窗口中的姓名,比如“杜小小.jpg ”。
我试过用 FileCopy,运行错误("70"):拒绝的权限
zipall
你好! 貌似用嵌入dos命令的方法可以实现,我尝试了几次还是不行,请你帮忙查看一下我的程序有什么问题 谢谢!
Private Sub CommandButton1_Click()
Dim Potopath as string
Dim stra As String
Potopath = ThisWorkbook.Path & "\" & EIF.ENO.text & ".jpg" 'EIF.ENO.text & ".jpg我想用这个命名保存后的图片
stra = "cmd /c copy" & TextBox1.Text & " " & Potopath
Shell stra, 1
End Sub
*********************************************************************************
yangdongzhen11
谢谢你, 写了那么多。 我想你还没看清我要做什么。 我不是想把Excel文件另存一份……
*********************************************************************************
zipall
我又试了几次,还是不行
yangdongzhen11
假如你要保存在本文件夹里的,photos文件夹下。
Private Sub CommandButton1_Click()
Dim name as string
Dim Potopath as string
Potopath=ThisWorkbook.Path
name = EIF.ENO.text
On Error GoTo line
Application.ActiveWorkbook.SaveAs filename:=potopath &photos& name, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
MsgBox "上传成功"
Exit Sub
line:
MsgBox "上传失败"
Exit Sub
End If
End Sub
试下可不可以。不行的话,你查下Application.ActiveWorkbook.SaveAs filename的用法,用F1查,应该对你有帮助。 参考技术B Private Sub CommandButton1_Click()
Dim fs As FileSystemObject
Dim f As File
Dim Potopath As String
Potopath = ThisWorkbook.Path & "\" & EIF.ENO.Text & ".jpg" 'EIF.ENO.text & ".jpg我想用这个命名保存后的图片
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(TextBox1.Text)
f.Copy Potopath, True
End Sub本回答被提问者采纳 参考技术C Private Sub CommandButton1_Click()
Set fs = CreateObject("Scripting.FileSystemObject")
Set Potopath = fs.GetFile(换成保存前的路径 + 图片名)
Potopath.Copy 换成保存后的路径 + 图片名
End Sub
Private Sub CommandButton1_Click()
Set fs = CreateObject("Scripting.FileSystemObject")
Set Potopath = fs.GetFile(文本框.Text)
Potopath.Copy ThisWorkbook.Path & "\" & EIF.ENO.Text & ".jpg"
End Sub 参考技术D 象这样
Shell ("cmd.exe /C copy " & textbox1.text & " " & userform1.textbox2.text ), vbHide
对补充问题的回复
我觉得是你的copy后面少了个空格的缘故。
VBA 将 Excel 文件从 Access 保存为 .xls
【中文标题】VBA 将 Excel 文件从 Access 保存为 .xls【英文标题】:VBA save Excel file as .xls from Access 【发布时间】:2016-02-27 22:20:53 【问题描述】:您好,我必须从 Excel 文件导入 Access DB,不能重复。唯一可以做到这一点的方法是创建可以导入 Excel 数据的表,然后通过构建查询将其附加到目标表。问题是这个 Excel 文件必须是 .xls 格式,没有其他格式对我有用(不知道为什么)。我怎样才能从 Access 中做到这一点 - 不需要打开 Excel 工作簿,只需更改它的扩展文件名?这是我尝试过的(我收到错误:“对象不支持此属性或方法”)
Dim XFile As Excel.Application
Set XFile = CreateObject("Excel.Application")
XFile.Workbooks.Open "C:\Users\Mike\Desktop\Copy.xlsx", True
XcelFile.SaveAs Filename:="C:\Users\Mike\Desktop\Copy.xlsx", FileFormat:=56
XFile.Workbooks.Close
End Sub
如您所见,我需要从 .xlsx 保存,这是 Excel 2013 的默认格式。
非常感谢任何帮助!
【问题讨论】:
您的“另存为”文件是您刚刚打开的文件。您至少应该更改目的地名称,否则您肯定会遇到冲突。 见this answer。 在“SaveAs”语句中将扩展名从“.xlsx”更改为“.xls” @Porcupine911,我看不出这个答案对我的情况有什么帮助。 @user3598756,我试过了,但仍然收到同样的错误。 【参考方案1】:感谢@Porcupine911,即使没有打开工作簿,它也能工作:)
Dim XcelFile As Excel.Application
Dim wb As Excel.Workbook
Set XcelFile = New Excel.Application
Set wb = XcelFile.Workbooks.Open("Filepath here")
wb.SaveAs Filename:="Filename here, with different destination and desirable extension", FileFormat:=56
wb.Close
Set XcelFile = Nothing
End Sub
【讨论】:
以上是关于Excel VBA 将图片保存到本地文件夹的主要内容,如果未能解决你的问题,请参考以下文章