Ⅰ 如何用VB代码压缩一个文件夹中的所有文件成一个压缩包
DIR 可以
还可以用FSO 对象,来完成!
Dir 函数
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
语法
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
部分 描述
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。
设置值
attributes 参数的设置可为:
常数 值 描述
vbNormal 0 (缺省) 指定没有属性的文件。
vbReadOnly 1 指定无属性的只读文件
vbHidden 2 指定无属性的隐藏文件
VbSystem 4 指定无属性的系统文件
vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory 16 指定无属性文件及其路径和文件夹。
注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。
Ⅱ 请问怎么vb压缩图片,内详
'图片压缩处理程序,可以实现高压缩!
'注JPG压缩比值为1-255
Public Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Public Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type
Public Type EncoderParameter
GUID As GUID
NumberOfValues As Long
type As Long
Value As Long
End Type
Public Type EncoderParameters
count As Long
Parameter As EncoderParameter
End Type
Public Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long
Public Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long
Public Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hPal As Long, BITMAP As Long) As Long
Public Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long
Public Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal FileName As Long, clsidEncoder As GUID, encoderParams As Any) As Long
Public Declare Function CLSIDFromString Lib "ole32" (ByVal Str As Long, id As GUID) As Long
Public Declare Function CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb As Long) As Long
'*************************************************************************
'** 作 者 : laviewpbt
'** 函 数 名 : SavePic
'** 输 入 : pic(StdPicture) - 图象句柄
'** : FileName(String) - 保存路径
'** : Quality(Byte) - JPG图象质量
'** : TIFF_ColorDepth(Long) - TTF格式的颜色深度
'** : TIFF_Compression(Long) - TTF格式的压缩比
'** 输 出 : 无
'** 功能描述 : 把图象保存为JPG、TIFF、PNG、GIF、BMP格式
'** 日 期 :
'** 修 改 人 : laviewpbt
'** 日 期 : 2005-10-23 14.43.52
'** 版 本 : Version 1.2.1
'*************************************************************************
Public Sub SavePic(ByVal pict As StdPicture, ByVal FileName As String, PicType As String, _
Optional ByVal Quality As Byte = 80, _
Optional ByVal TIFF_ColorDepth As Long = 24, _
Optional ByVal TIFF_Compression As Long = 6)
Screen.MousePointer = vbHourglass
Dim tSI As GdiplusStartupInput
Dim lRes As Long
Dim lGDIP As Long
Dim lBitmap As Long
Dim aEncParams() As Byte
On Error GoTo ErrHandle:
tSI.GdiplusVersion = 1 ' 初始化 GDI+
lRes = GdiplusStartup(lGDIP, tSI)
If lRes = 0 Then ' 从句柄创建 GDI+ 图像
lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)
If lRes = 0 Then
Dim tJpgEncoder As GUID
Dim tParams As EncoderParameters '初始化解码器的GUID标识
Select Case PicType
Case ".jpg"
CLSIDFromString StrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder
tParams.count = 1 ' 设置解码器参数
With tParams.Parameter ' Quality
CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"), .GUID ' 得到Quality参数的GUID标识
.NumberOfValues = 1
.type = 4
.Value = VarPtr(Quality)
End With
ReDim aEncParams(1 To Len(tParams))
Call CopyMemory(aEncParams(1), tParams, Len(tParams))
Case ".png"
CLSIDFromString StrPtr("{557CF406-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder
ReDim aEncParams(1 To Len(tParams))
Case ".gif"
CLSIDFromString StrPtr("{557CF402-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder
ReDim aEncParams(1 To Len(tParams))
Case ".tiff"
CLSIDFromString StrPtr("{557CF405-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder
tParams.count = 2
ReDim aEncParams(1 To Len(tParams) + Len(tParams.Parameter))
With tParams.Parameter
.NumberOfValues = 1
.type = 4
CLSIDFromString StrPtr("{E09D739D-CCD4-44EE-8EBA-3FBF8BE4FC58}"), .GUID ' 得到ColorDepth参数的GUID标识
.Value = VarPtr(TIFF_Compression)
End With
Call CopyMemory(aEncParams(1), tParams, Len(tParams))
With tParams.Parameter
.NumberOfValues = 1
.type = 4
CLSIDFromString StrPtr("{66087055-AD66-4C7C-9A18-38A2310B8337}"), .GUID ' 得到Compression参数的GUID标识
.Value = VarPtr(TIFF_ColorDepth)
End With
Call CopyMemory(aEncParams(Len(tParams) + 1), tParams.Parameter, Len(tParams.Parameter))
Case ".bmp" '可以提前写保存为BMP的代码,因为并没有用GDI+
SavePicture pict, FileName
Screen.MousePointer = vbDefault
Exit Sub
End Select
lRes = GdipSaveImageToFile(lBitmap, StrPtr(FileName), tJpgEncoder, aEncParams(1)) '保存图像
GdipDisposeImage lBitmap ' 销毁GDI+图像
End If
GdiplusShutdown lGDIP '销毁 GDI+
End If
Screen.MousePointer = vbDefault
Erase aEncParams
Exit Sub
ErrHandle:
Screen.MousePointer = vbDefault
MsgBox "在保存图片的过程中发生错误:" & vbCrLf & vbCrLf & "错误号: " & Err.Number & vbCrLf & "错误描述: " & Err.Description, vbInformation Or vbOKOnly, "错误"
End Sub
把以上的代码复制到模块
Ⅲ 如何批量压缩多个word文档中的图片
批量压缩多个word文档中的图片的方法:
1、选中需要压缩的图片;
2、单击图片工具格式----压缩图片按钮;
Ⅳ word里图片怎么压缩
大家在平时使用word办公时,经常要插入图片,有时插入的图片过多导致文件特别大,电脑会反映很慢,下面小编教大家如何压缩word中的图片
工具/原料
Microsoft Word
方法一:使用压缩图片命令
1
首先打开Word文档,左键双击文档中的图片,然后在菜单栏中选择压缩图片。
2
在压缩图片中选择压缩选中的图片还是压缩文档中的所有图片,然后在更改分辨率中根据需要选择一种确定。
3
此时会出现提示,点击应用就行了。
4
小编保存给大家看一下压缩前和压缩后的Word文档大小。
END
方法二:存储时压缩
打开Word后点击左上角的文件按钮,然后点击另存为。
在另存为窗口点击工具,选择压缩图片。
3
在压缩设置中根据个人需要点选目标输出的形式,最后确定保存,此时Word中的所有图片就全部被压缩了。
Ⅳ 删除word中指定大小图片的代码(VB)
Office文件损坏的恢复技巧 Word文件修复 Excel文件修复 假如你手头还没有用来恢复Office文件的商业软件,你可以先试试以下5个技巧。 1.任何文件类型 按下Shift键的同时双击资源管理器中的文件。这样可以阻止运行自动化的VB代码以及其他可能引发文件错误的自动命令。 2. Microsoft Word 假如你可以打开文件,但是其内容却混乱不堪,你不妨用Show/Hide按钮显示格式化。然后从文档的开头选中所有的文本(除了文档底部的段落标记)。把文本拷贝、粘贴到一个新文档里。假如没起作用,你可能需要拷贝和粘贴其中部分段落来重建文档。 3. Excel 假如出问题的Excel文件不大,其中只有一个数据表,那么你可以尝试一下能否用Word打开它。在Word的Open对话框里选中All Files文件类型然后直接打开即可,或者从文件类型框中的Recover Text From Any File选项。 4. PowerPoint PowerPoint文件特别容易损坏而且如果不采用专门的商业软件恢复起来也特麻烦。不过你可以尝试以下的补救措施:打开一个新建的空白文件,然后选择Insert-Slides选项从损坏的幻灯文件中把幻灯片导入新文件。 5. Access 执行数据库修复和压缩操作可能会恢复损坏的Access数据库。假如以上方法不奏效你可以再把对象导入新的Access文件试试。 Word文件在日常工作和生活中已经无处不在,它常常记录着许多重要信息,被用户视为重点保护对象。然而,由于种种原因(譬如磁盘损伤、病毒感染或者程序出错等),文件损毁的事情也时有发生。一旦事关重大的Word文件损毁了,用户的焦急之情溢于言表。别急,让我给你一根救命稻草,它就是Word文件的救星——DocRepair。 软件名称:DocRepair 软件版本:2.10 软件平台:Windows XP/2000/Me/98/95/NT 软件授权:共享 软件大小:654K 下载地址: DocRepair是一款专门用来修复Word文件的实用软件。它支持所有版本的Microsoft Word,操作简单,经过四步便能轻松帮你修复原本损坏的Word文件。 Step 1:(图1) 选择需要修复的Word文件; Step 2:(图2) 根据需要设定“Recovery Options”:如果文件内容使用的是非英语,或者用户需要修复包含在文件中的图片,都可在“Recovery Options”中进行相应的选择。 另外,有一个“Use Salvage Content Retrieval Mode”选项,在第一次恢复Word文件时最好不要选,因为它虽然可能更大程度上的修复损坏的文件内容,但同时也会产生一些多余的垃圾字符。如果在第一次恢复后的文件中仍有部分内容没有抢救回来,那就可以使用这个选项,进行加强型的修复。 Step 3:(图3) 该软件将文件读入内存,并分析其结构和存在的问题,最后对该文件进行修复,恢复其中的内容。用户可以预览修复好的文件内容及其包含的图片(图4)。如果对修复结果不满意,就可以退回到第二步去选择“Use Salvage Content Retrieval Mode”选项进行增强的修复。 Step 4:(图5) 将修复好的文件保存到用户指定的文件夹,便大功告成了。 Excel文件是一个工作簿,一般可以包含255个工作表,每个工作表中可以包含大量的数据。如果一个Excel文件部分受损,不能正常打开,该怎么办呢?这里向大家介绍两种解救方法。 手动处理 进入Word,打开要修复的XLS文件,如果Excel只有一个工作表,会自动以表形式装入Word,若文件是由多个工作表组成,每次只能打开一个工作表。打开后,先将文件中损坏的数据删除。 用鼠标选中〔表格〕→〔转换〕→〔表格转文本],注意可用“,”间隔符或其他分隔符,另存为一个TXT文本文件。在Excel中直接打开该文本文件,在打开时,Excel会提示文本导入向导,一般情况下只要直接点击〔下一步〕即可,打开后另存为其他的Excel文件即可。 注意:这种修复的方法是利用Word的直接读取Excel文件的功能实现,该方法在文件头没有损坏,只是文件内容有损坏的情况下比较有效;对文件头已经损坏的Excel文件,此方法可能不成
Ⅵ 如何在VBA中调用Word中图片压缩功能
感谢楼主,测试成功,Very good!~~~显然是摘来的内容!
Sub ystp()
For Each pic In ActiveSheet.Shapes
If pic.Type = 13 Then
SendKeys ^{ENTER}, False
Application.CommandBars(Picture).Controls(压缩图片(&C)...).Execute
End If
Next
End Sub
Ⅶ 怎么压缩word中的图片
首先打开Word文档,左键双击文档中的图片,然后在菜单栏中选择压缩图片。
Ⅷ vb word文档转换为图片
方法很多,建议你不要编程序。你又不会编程序,干嘛费这劲。
简单方法是:
一、把WORD文件打开,全选,并且COPY到剪贴板
二、打开画图板软件,粘贴过来
三、另存为*.BMP 或者*.jpg 格式的文件
完成