Excel中EDID信息保存设置
一.目的
针对Excel 表中的EDID 信息怎样自动保存为Bin 文件。如下图所示:
二.设置方法
1. 打开Excel2007,点击“左顶端图标-Excel 选型-常用”,选中“在功能区显示
“开发工具”选项卡”。图一所示
2. 点击“开发工具-录制宏”,宏名可以填写”Save ”,保存在选中“个人宏工作薄”,说明
里面可以填写“Save EDID ”,也可以选择不填写。如图二所示。然后点击“确定”,然后再点击“停止录制”。
3. 点击“Visual Basic-VBAProject (PERSONAL.XLSB )-模块-模块1”,然后将下面一段程
序全部复制进去。
程序:
Private Sub SaveData(strFile As String)
Const BUFFERSIZE As Long = 4096 '每次写4KB 数据
Dim aBuffer() As Byte
Dim strTemp$, i&, j&, r&
Set xlsApp = GetObject(, "excel.application") '读取当前工作薄中的内容
If xlsApp Is Nothing Then Exit Sub
'清空原始文件(如果编辑后文件长度不会减少,可以不用这个)
Open strFile For Output As #1: Close #1
'写数据
Open strFile For Binary As #1
ReDim aBuffer(BUFFERSIZE - 1)
i = 0: r = 3 '第3行开始
Do
For j = 10 To 25
If (r > 10 And r < 19) Then
strTemp = "FF"
Else
strTemp = xlsApp.Cells(r, j)
End If
If (Len(strTemp) = 0) Then Exit For
aBuffer(i) = CByte("&H" & strTemp)
i = i + 1
Next
If (i = BUFFERSIZE) Then i = 0: Put #1, , aBuffer
If (Len(strTemp) = 0) Then
If (i = 0) Then Exit Sub
ReDim Preserve aBuffer(i - 1)
Put #1, , aBuffer
Exit Sub
End If
r = r + 1
Loop
End Sub
Sub Save()
'
' SaveEDID Macro
' SaveEDID
'
Dim lFlag&, strTemp$
If Len(strFilename) > 0 Then
lFlag = MsgBox("保存数据到:" & strFilename, 35)
If (vbCancel = lFlag) Then Exit Sub
lFlag = vbNo = lFlag
Else
lFlag = -1
End If
If (lFlag) Then
strTemp = Application.GetSaveAsFilename( _
filefilter:="BIN文件(*.bin),*.bin,所有文件(*.*),*.*", _
Title:="保存文件")
If (strTemp = "False") Then
MsgBox "没有保存数据!", vbExclamation
Exit Sub
End If
strFilename = strTemp '更换文件名
Else
strTemp = strFilename
End If
Call SaveData(strTemp): Close
End Sub
4.关闭VB编辑软件。
5.点击“左顶端图标-Excel选型-自定义”,在“常用命令里面选择“宏””选中
刚才创建的宏,点击添加,之后可以选择修改对图标进行修改,然后点击“确认”。
如图三所示。之后可以在快速启动栏中看到你刚才所增加的图标。如图四所示。
6.点击刚才创建的快捷方式,即可以保存Excel表格中的EDID文件为Bin文件。关闭
退出后,如果提示是否保存宏命令,请选择是即可,如果提示保存不了,将360杀毒中的设置按照图五修改即可。以后,打开Excel工作表格都可以点击这个按钮保存Bin文件。
图一
图二
图三
图四
图五