亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

17站長網(wǎng) 首頁 辦公 Word教程 查看內(nèi)容

Word教程:word右鍵怎么增加圖片另存為

2023-5-4 13:53| 查看: 2760 |來源: 互聯(lián)網(wǎng)

如果我們想把word中的圖片保存下來,苦惱word無法使用右鍵圖片另存為,接下來小編就為大家介紹一下如何使用VBA代碼增加圖片另存為 代碼如下: Option Explicit ...

如果我們想把word中的圖片保存下來,苦惱word無法使用右鍵圖片另存為,接下來小編就為大家介紹一下如何使用VBA代碼增加圖片另存為 word右鍵怎么增加圖片另存為 代碼如下:

Option Explicit

Private Const UnitPixel As Long = 2 Private Const EncoderQuality As String = "{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"

Private Type GdiplusStartupInput GdiplusVersion As Long DebugEventCallback As Long SuppressBackgroundThread As Long SuppressExternalCodecs As Long End Type

Private Enum EncoderParameterValueType EncoderParameterValueTypeByte = 1 EncoderParameterValueTypeASCII = 2 EncoderParameterValueTypeShort = 3 EncoderParameterValueTypeLong = 4 EncoderParameterValueTypeRational = 5 EncoderParameterValueTypeLongRange = 6 EncoderParameterValueTypeUndefined = 7 EncoderParameterValueTypeRationalRange = 8 End Enum

Private Type EncoderParameter GUID(0 To 3) As Long NumberOfValues As Long Type As EncoderParameterValueType Value As Long End Type

Private Type EncoderParameters Count As Long Parameter As EncoderParameter End Type

Private Type ImageCodecInfo ClassID(0 To 3) As Long FormatID(0 To 3) As Long CodecName As Long DllName As Long FormatDescription As Long FilenameExtension As Long MimeType As Long Flags As Long Version As Long SigCount As Long SigSize As Long SigPattern As Long SigMask As Long End Type

Private Declare Function GdiplusStartup Lib "gdiplus" (Token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long Private Declare Sub GdiplusShutdown Lib "gdiplus" (ByVal Token As Long) Private Declare Function GdipSaveImageToFile Lib "gdiplus" (ByVal hImage As Long, ByVal sFilename As Long, clsidEncoder As Any, encoderParams As Any) As Long Private Declare Function GdipDisposeImage Lib "gdiplus" (ByVal Image As Long) As Long Private Declare Function GdipCreateBitmapFromHBITMAP Lib "gdiplus" (ByVal hbm As Long, ByVal hPal As Long, Bitmap As Long) As Long Private Declare Function GdipGetImageEncodersSize Lib "gdiplus" (numEncoders As Long, Size As Long) As Long Private Declare Function GdipGetImageEncoders Lib "gdiplus" (ByVal numEncoders As Long, ByVal Size As Long, Encoders As Any) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Private Declare Function lstrlenW Lib "kernel32" (ByVal psString As Any) As Long Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpszProgID As Long, pCLSID As Any) As Long Private Declare Function GdipBitmapSetResolution Lib "gdiplus" (ByVal Bitmap As Long, ByVal xdpi As Single, ByVal ydpi As Single) As Long

Public Enum ImageFileFormat Bmp = 1 Jpg = 2 Png = 3 Gif = 4 End Enum

Public Function SaveStdPicToFile(Stdpic As StdPicture, ByVal FileName As String, _ Optional ByVal FileFormat As ImageFileFormat = Jpg, _ Optional ByVal JpgQuality As Long = 80, _ Optional Resolution As Single) As Boolean

Dim CLSID(3) As Long Dim Bitmap As Long Dim Token As Long Dim Gsp As GdiplusStartupInput

Gsp.GdiplusVersion = 1 GDI+ 1.0版本 GdiplusStartup Token, Gsp 初始化GDI+ GdipCreateBitmapFromHBITMAP Stdpic.Handle, Stdpic.hPal, Bitmap If Bitmap <> 0 Then 說明我們成功的將StdPic對象轉(zhuǎn)換為GDI+的Bitmap對象了 GdipBitmapSetResolution Bitmap, Resolution, Resolution Select Case FileFormat Case ImageFileFormat.Bmp If Not GetEncoderClsID("Image/bmp", CLSID) = -1 Then SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0) End If Case ImageFileFormat.Jpg JPG格式可以設(shè)置保存的質(zhì)量 Dim aEncParams() As Byte Dim uEncParams As EncoderParameters If GetEncoderClsID("Image/jpeg", CLSID) <> -1 Then uEncParams.Count = 1 設(shè)置自定義的編碼參數(shù),這里為1個參數(shù) If JpgQuality < 0 Then JpgQuality = 0 ElseIf JpgQuality > 100 Then JpgQuality = 100 End If ReDim aEncParams(1 To Len(uEncParams)) With uEncParams.Parameter .NumberOfValues = 1 .Type = EncoderParameterValueTypeLong 設(shè)置參數(shù)值的數(shù)據(jù)類型為長整型 Call CLSIDFromString(StrPtr(EncoderQuality), .GUID(0)) 設(shè)置參數(shù)唯一標(biāo)志的GUID,這里為編碼品質(zhì) .Value = VarPtr(JpgQuality) 設(shè)置參數(shù)的值:品質(zhì)等級,最高為100,圖像文件大小與品質(zhì)成正比 End With CopyMemory aEncParams(1), uEncParams, Len(uEncParams) SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), aEncParams(1)) = 0) End If Case ImageFileFormat.Png If Not GetEncoderClsID("Image/png", CLSID) = -1 Then SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0) End If Case ImageFileFormat.Gif If Not GetEncoderClsID("Image/gif", CLSID) = -1 Then 如果原始的圖像是24位,則這個函數(shù)會調(diào)用系統(tǒng)的調(diào)色板來將圖像轉(zhuǎn)換為8位,轉(zhuǎn)換的效果會不盡人意,但也有可能系統(tǒng)不自動轉(zhuǎn)換,保存失敗 SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0) End If End Select End If GdipDisposeImage Bitmap 注意釋放資源 GdiplusShutdown Token 關(guān)閉GDI+。 End Function

Private Function GetEncoderClsID(strMimeType As String, ClassID() As Long) As Long Dim Num As Long Dim Size As Long Dim I As Long Dim Info() As ImageCodecInfo Dim Buffer() As Byte GetEncoderClsID = -1 GdipGetImageEncodersSize Num, Size 得到解碼器數(shù)組的大小 If Size <> 0 Then ReDim Info(1 To Num) As ImageCodecInfo 給數(shù)組動態(tài)分配內(nèi)存 ReDim Buffer(1 To Size) As Byte GdipGetImageEncoders Num, Size, Buffer(1) 得到數(shù)組和字符數(shù)據(jù) CopyMemory Info(1), Buffer(1), (Len(Info(1)) * Num) 復(fù)制類頭 For I = 1 To Num 循環(huán)檢測所有解碼 If (StrComp(PtrToStrW(Info(I).MimeType), strMimeType, vbTextCompare) = 0) Then 必須把指針轉(zhuǎn)換成可用的字符 CopyMemory ClassID(0), Info(I).ClassID(0), 16保存類的ID GetEncoderClsID = I 返回成功的索引值 Exit For End If Next End If End Function

Private Function PtrToStrW(ByVal lpsz As Long) As String Dim Out As String Dim Length As Long Length = lstrlenW(lpsz) If Length > 0 Then Out = StrConv(String$(Length, vbNullChar), vbUnicode) CopyMemory ByVal Out, ByVal lpsz, Length * 2 PtrToStrW = StrConv(Out, vbFromUnicode) End If End Function For Each cbn In Array("AutoText", "Drawing Canvas", "Organization Chart", "Diagram", "Frames", "Flowchart", "Inline Picture", "Floating Picture", "Shapes", "Inline Canvas", "Table Pictures", "AutoShapes", "Basic Shapes", "Insert Shape", "Picture", "WordArt Context Menu", "WordArt")

本文最后更新于 2023-5-4 13:53,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
        日本电影欧美片| 欧美性一二三区| 欧美一区二区久久| 欧美精品一区男女天堂| 天堂久久一区二区三区| 成人av一区二区三区| 精品午夜久久福利影院| 天堂成人国产精品一区| 三级不卡在线观看| 国精产品一区一区三区mba桃花| 日本亚洲免费观看| 91原创在线视频| 亚洲一区二区视频在线观看| 欧美日韩二区三区| 国产成人亚洲综合a∨婷婷图片 | 正在播放亚洲一区| www.在线欧美| 日本中文字幕不卡| 久久久影视传媒| 麻豆91精品91久久久的内涵| 欧美乱妇23p| 久久亚洲捆绑美女| 国产欧美日韩三级| 午夜精品视频一区| 中文成人av在线| 亚洲一区二区三区不卡国产欧美 | 国产精品沙发午睡系列990531| 欧美亚洲国产一卡| 欧美日韩国产精选| 欧美一区二区女人| 国产精品久久久久毛片软件| av一二三不卡影片| 国产精品一区二区黑丝| 91在线观看美女| 人人超碰91尤物精品国产| 日韩亚洲欧美在线| 色狠狠一区二区三区香蕉| 五月天久久比比资源色| 国产精品一二三四五| 欧美日韩一区在线观看| 日韩三级免费观看| 亚洲另类一区二区| 国产成人午夜视频| 欧美一级爆毛片| 精品国产电影一区二区| 亚洲欧美国产77777| 日韩—二三区免费观看av| 99视频一区二区三区| 色综合天天综合在线视频| 久久综合中文字幕| 国产农村妇女毛片精品久久麻豆| 麻豆精品一区二区三区| 99久久国产免费看| 亚洲国产精品高清| 三级亚洲高清视频| 欧美亚洲国产bt| 午夜久久久影院| 成人久久18免费网站麻豆| 国产欧美综合在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲综合一区二区| 懂色av一区二区三区免费看| 26uuu久久天堂性欧美| 国产成人在线影院| 国产精品久久网站| 欧美一区二区三区免费| 日韩av电影免费观看高清完整版| 国产91丝袜在线观看| 中文字幕欧美一| 欧美视频一区二区三区在线观看| 美洲天堂一区二卡三卡四卡视频| 国产高清一区日本| 日韩va欧美va亚洲va久久| 欧美色区777第一页| 国产91精品久久久久久久网曝门| 亚洲欧美国产三级| 91精品国产色综合久久不卡蜜臀 | 免费在线观看日韩欧美| 国产欧美一区二区三区沐欲| 欧美日韩1234| 国产又黄又大久久| 国产精品麻豆久久久| 精品国产区一区| 日韩欧美在线网站| 日韩精品一区二区三区三区免费| 在线精品视频小说1| 久久国产精品一区二区| 日韩电影一二三区| 亚洲mv大片欧洲mv大片精品| 久久久久久免费毛片精品| 日韩一级在线观看| 欧美三级韩国三级日本一级| 99久久婷婷国产综合精品电影| 五月综合激情日本mⅴ| 亚洲人成网站影音先锋播放| 国产精品福利一区二区三区| 亚洲欧美激情在线| 天天综合天天综合色| 自拍av一区二区三区| 亚洲一区在线视频观看| 一区二区三区精品久久久| 精品欧美乱码久久久久久 | 久久色.com| 亚洲色欲色欲www在线观看| 亚洲精品视频在线观看网站| 午夜国产精品影院在线观看| 老司机午夜精品| 成人av电影在线| 日本道色综合久久| 日韩欧美在线影院| 亚洲国产精品精华液网站| 成人深夜福利app| 久久久亚洲国产美女国产盗摄 | 美女网站色91| 99久久久无码国产精品| 国产日韩在线不卡| 五月天婷婷综合| 91成人免费在线| 亚洲欧美电影一区二区| 精品影院一区二区久久久| 欧美综合欧美视频| 亚洲gay无套男同| 色婷婷综合中文久久一本| 日韩欧美一二区| 97国产精品videossex| 亚洲欧洲精品天堂一级| 丰满放荡岳乱妇91ww| 国产精品视频第一区| 视频一区国产视频| 在线观看免费视频综合| 亚洲chinese男男1069| 久久久久久久久久久电影| 色哟哟国产精品免费观看| 国产精品私房写真福利视频| 欧美精品成人一区二区三区四区| 亚洲精品日日夜夜| 欧美一级爆毛片| 日本v片在线高清不卡在线观看| 国产欧美日韩亚州综合| 欧美久久久久久久久| www.欧美.com| 粗大黑人巨茎大战欧美成人| 日韩一区精品字幕| 亚洲天堂成人网| 日韩欧美电影一二三| 99riav一区二区三区| 极品美女销魂一区二区三区| 亚洲人成伊人成综合网小说| 欧美xxxxx裸体时装秀| 日韩精品一区二区三区在线播放 | 日本欧美一区二区三区乱码| 精品精品国产高清a毛片牛牛| 美女久久久精品| 久久成人av少妇免费| 日本网站在线观看一区二区三区| 精品久久久久久无| 国产欧美综合色| 国产丝袜欧美中文另类| 中文字幕高清不卡| 久久先锋资源网| 在线日韩一区二区| 7777精品伊人久久久大香线蕉完整版| 亚洲一区免费视频| 国产一区二区三区在线观看精品| 青青草伊人久久| 国产精品996| 色久优优欧美色久优优| 92国产精品观看| 一本色道**综合亚洲精品蜜桃冫| 99国产精品视频免费观看| 欧美精品久久99久久在免费线| 精品免费一区二区三区| 在线综合视频播放| 欧美精品一区二| 亚洲香蕉伊在人在线观| 国产乱码一区二区三区| 欧美性生活一区| 一区二区三区国产| 全国精品久久少妇| 秋霞国产午夜精品免费视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产乱码精品1区2区3区| 国产成人综合精品三级| 欧美日韩免费电影| 亚洲一本大道在线| 91在线视频播放| 欧美写真视频网站| 一区二区在线免费观看| 91丝袜美腿高跟国产极品老师| 精品久久免费看| 国产激情偷乱视频一区二区三区| 欧美日韩视频第一区| 亚洲国产日韩综合久久精品| 4438x成人网最大色成网站| 亚洲6080在线| 久久午夜老司机| 欧美视频完全免费看| 日产国产高清一区二区三区 | 成人性视频网站| 综合久久久久久|