Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "E:\工作文件" ‘这里输入你要插入图片的目标文件夹
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '这两句移到这里
Selection.EndKey
If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Set MyPic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True) '按比例调整相片尺寸
WidthNum = MyPic.Width
c = 6 '在此处修改相片宽,单位厘米
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function
执行此代码后,d出的选择对话框, 全选目标文件夹下的所有图片文件之后,点击确定。然后静静的等待电脑完成处理工作,次数word会进入无响应状态。图片越多,无响应的时间越长。
用VLOOKUP即可,不过需要你的样表,Q 306212368插入图片需要VBA
举例如下:
EXCEL表格,A列是产品图片,B列是货号,能否在B列输入货号(如123)的同时把放在E:\PIC目录下的相应货号的JPG图片调出来,且大小与A列单元格完全相符。
用vba,按下ALT+F11,菜单:插入-模块,复制下面代码至代码框.按F5即可
Sub addpicture()
Dim FirstRow, LastRow As Integer, FileType As String
FirstRow = Sheet1.UsedRange.Row
LastRow = FirstRow + Sheet1.UsedRange.Rows.Count - 1
FileType = InputBox("输入你的图片的后缀名", "输入图片格式", "jpg")
For i = FirstRow To LastRow
Numb = Cells(i, 2).Value
With ActiveSheet
.Pictures.Insert("D:\tmp\" &Numb &"." &FileType).Select
Set Target = .Cells(i, 1)
End With
With Selection
.Top = Target.Top + 1
.Left = Target.Left + 1
.Width = Target.Width - 1
.Height = Target.Height - 1
End With
Next i
End Sub
说明,图片文件夹 图片文件名与输入货号一致。
按比例缩放,然后再上传,计算按比例缩放后的宽和高,然后再生成,下面是我项目中的例子,希望对LZ有所帮助:public class addpicture : LHPage
{
protected string ctrname = ""
protected string genthumb = ""
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Utilities.CheckLogin())
{
Response.Write("<script language=\"javascript\">top.document.location=\"login.aspx\"</script>")
Response.End()
}
ctrname = Request["ctrname"]
if(ctrname == null)
ctrname = ""
genthumb = Request["genthumb"]
if(genthumb == null)
genthumb = ""
HttpPostedFile httpfile = Request.Files["postedfile"]
if(httpfile != null)
{
if(httpfile.ContentLength >4028 * 1024)
return
string sfileguid = Guid.NewGuid().ToString()
int iLastIndex = httpfile.FileName.LastIndexOf(".")
string sex = ""
if(iLastIndex >= 0)
sex = httpfile.FileName.Substring(iLastIndex)
sfileguid += sex
DataTable dtsys = Utilities.ConfigInfo
string allowedexs = "|" + dtsys.Rows[0]["AllowedExs"].ToString() + "|"
if(sex.Length >0)
{
if(allowedexs.IndexOf("|" + sex.Substring(1).ToLower() + "|") <0)
{
Response.Write("<script language=\"javascript\">alert('您不能上传该类文件格式,请在系统设置中设置!')</script>")
return
}
}
YTDateTime ytdtime = new YTDateTime()
ytdtime.dDateTime = DateTime.Now
string savedir = ytdtime.sDate.Substring(0, 6)
if(!Directory.Exists(Server.MapPath(Utilities.UploadedFileDir + "/" + savedir)))
Directory.CreateDirectory(Server.MapPath(Utilities.UploadedFileDir + "/" + savedir))
using(FileStream fs = new FileStream(Server.MapPath(Utilities.UploadedFileDir + "/" + savedir) + "\\" + sfileguid, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
{
byte [] btbuf = new byte[httpfile.InputStream.Length]
httpfile.InputStream.Read(btbuf, 0, btbuf.Length)
fs.Write(btbuf, 0, btbuf.Length)
}
if(genthumb == "yes")
{
//要生成缩略图
ImageClip imgclip = new ImageClip()
imgclip.OpImage = Bitmap.FromFile(Server.MapPath(Utilities.UploadedFileDir + "/" + savedir) + "\\" + sfileguid)
Bitmap bmptmp = (Bitmap)imgclip.OpImage
imgclip.Width = int.Parse(dtsys.Rows[0]["MaxThumbnailWidth"].ToString())
imgclip.Height = int.Parse(dtsys.Rows[0]["MaxThumbnailHeight"].ToString())
imgclip.Options = ImageClip.MODE_TRANSLATE | ImageClip.MODE_CONSTRAINBYWIDTH | ImageClip.MODE_CONSTRAINRATIO
if(!imgclip.ExecuteTransfer())
{
Response.Write("<script language=\"javascript\">alert('生成缩略图失败!')</script>")
return
}
string sguid = Guid.NewGuid().ToString()
imgclip.OpImage.Save(Server.MapPath(Utilities.UploadedFileDir + "/" + savedir) + "\\" + sguid + sex)
Response.Write("<script language=\"javascript\">parent.UpdateFile('" + savedir + "/" + sfileguid + "', '"+ctrname+"', '"+savedir + "/" + sguid + sex +"')</script>")
bmptmp.Dispose()
imgclip.OpImage.Dispose()
return
}
if(ctrname.Length <= 0)
Response.Write("<script language=\"javascript\">parent.UpdateFile('" + savedir + "/" + sfileguid + "')</script>")
else
Response.Write("<script language=\"javascript\">parent.UpdateFile('" + savedir + "/" + sfileguid + "', '"+ctrname+"')</script>")
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)