有人可以帮我调整下面的代码,将文件转换为base64字符串。假设我在单元格A1中有一个文件和文件路径。单元格A1包含文本(“C:\ testing \ test1.xls”)。我想base64 test1.xls为字符串。我想循环遍历A列中的所有文件。感谢任何帮助。
这是我得到的代码。此代码转换存储在单元格A1中的文本。
class employeecheckinform(forms.ModelForm):
checkin = DateTimeField(input_formats=["%b %d"])
class Meta:
model = Checkin
fields=[ 'user', 'employee_ID', 'checkin', ]
谢谢! 千斤顶
答案 0 :(得分:0)
请参阅下面的编辑:
首先,重要的是我们使用变量i添加了一个循环,它也指定了我们正在访问的行。
我们还创建了变量lastRow,并使用Range.Find方法查找A列中的最后一个非空行。
第三个编辑也非常重要,即将objNode元素添加到objXML文档中。
Sub base64()
Dim objXML As DOMDocument
Dim i As Integer
Dim lastRow As Long
Dim objRoot As IXMLDOMElement
Set objXML = New DOMDocument
Set objRoot = objXML.createElement("root")
objXML.appendChild objRoot
Range("A1").Select
lastRow = Columns("A").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = 1 To lastRow
addElement i, objRoot, objXML
Next i
MsgBox objXML.XML
End Sub
Private Function addElement(rowNumber As Integer, objRootNode As IXMLDOMElement, objDOM As DOMDocument)
Dim objNode As IXMLDOMElement
Dim arrData() As Byte
Set objNode = objDOM.createElement("b64")
arrData = StrConv(Cells(rowNumber, 1).Value, vbFromUnicode)
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = arrData
objRootNode.appendChild objNode
End Function