国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

半自動的步槍--Excel宏--GX10N圖片導出程序

瀏覽:115日期:2022-11-09 18:21:16

在HEX中手工導出圖片,雖然是可行的,但如果圖片太多的話,任誰都會失去動手的興趣。

特貼出我在研究DAT之時為了驗證思路所寫的宏。只是后來真正用語言寫的時候才發現好難好難,連個對話框什么的都要搞半天。也許是我太笨了吧。

所需軟件:Microsoft Excel for Windows。

大唐GX10N備份文件DAT一個。

打開EXCEL,新建一個表,如下:

其中位置1為圖片在DAT文件中第一個存儲空間的起點位置,長度1為第一個存儲空間的有效長度,即11273-65(11+文件名長度+12,每一個漢字和字母都占用兩個字節)。

位置2為圖片在DAT文件中第二個存儲空間的起點位置,長度2為圖片剩余的長度。可由文件總長-第一段的長度得出。

位置3和長度3也類似。

只是355×288的圖片只有17K左右,不應該占用到3個存儲空間。

把你的DAT文件中的文件信息填上去。OK。

再點工具→宏→Visual Basic編輯器。

在出現的窗口中輸入如下代碼。

Dim br() As Byte

Sub Writefile()Sheet2.Range('A2').Select Close #1 Open 'c:abc.dat' For Binary Access Read As #1 ’我是把DAT復制到C盤下面,改名為abc.dat,你如果想使用你的文件名,請修改此處斜體部分 DoIf ActiveCell.Offset(0, 0).Range('A1').Value = '' Then Exit Do ’當前行沒有文件信息時,則自動退出程序。所以中間不要空行End IfClose #2Open 'c:' & ActiveCell.Offset(0, 0).Range('A1').Value For Binary Access Write As #2ReDim br(1 To ActiveCell.Offset(0, 0).Range('e1')) As ByteSeek 1, ActiveCell.Offset(0, 0).Range('c1').Value + ActiveCell.Offset(0, 0).Range('d1').Value + 1Get #1, , brPut #2, , brIf ActiveCell.Offset(0, 0).Range('F1').Value <> 0 Then ReDim br(1 To ActiveCell.Offset(0, 0).Range('g1')) Seek 1, ActiveCell.Offset(0, 0).Range('F1').Value + 10 Get 1, , br Put 2, , br If ActiveCell.Offset(0, 0).Range('H1').Value <> 0 ThenReDim br(1 To ActiveCell.Offset(0, 0).Range('I1'))Seek 1, ActiveCell.Offset(0, 0).Range('H1').Value + 10Get 1, , brPut 2, , br End IfEnd IfActiveCell.Offset(1, 0).Range('A1').Select Loop Close 1, 2 End Sub

關掉Visual Basic編輯器。

在當前頁面按下Alt+F8(或是工具→宏→宏)。

選中WriteFile,點執行。

然后點開我的電腦→C盤,可以看到我們解壓出來的圖片。

用這種方法解壓出來的圖片完整無損,而且可以直接觀看,不需要用ACDSEE另存。

標簽: excel
相關文章:
主站蜘蛛池模板: 丘北县| 庄浪县| 雷州市| 仙桃市| 浑源县| 银川市| 周口市| 寿宁县| 龙游县| 萨嘎县| 姜堰市| 出国| 凭祥市| 庆安县| 武陟县| 西贡区| 汝州市| 秭归县| 筠连县| 宁陕县| 互助| 辽源市| 淅川县| 象山县| 富民县| 昭觉县| 梁山县| 枣强县| 柞水县| 曲沃县| 潞西市| 江门市| 永仁县| 大同县| 海门市| 台山市| 闽侯县| 大埔县| 岑巩县| 卢龙县| 家居|