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

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

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

瀏覽:139日期: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
相關文章:
主站蜘蛛池模板: 涞水县| 交城县| 蒙阴县| 南充市| 茂名市| 香格里拉县| 凤城市| 镇赉县| 凤庆县| 湘阴县| 宁武县| 永顺县| 清丰县| 平定县| 周宁县| 恩平市| 和平区| 乌审旗| 西乡县| 渝北区| 图们市| 门源| 阿巴嘎旗| 保德县| 连州市| 德江县| 石嘴山市| 乐东| 南部县| 女性| 松江区| 松滋市| 房产| 蒙阴县| 大悟县| 图木舒克市| 内黄县| 温宿县| 乐昌市| 珠海市| 四平市|