gpt4 book ai didi

excel - 从当前打开的从 Sharepoint 下载的 Word 文档 .docm 中获取字节数组,而不保存到本地驱动器

转载 作者:行者123 更新时间:2023-12-04 20:51:00 24 4
gpt4 key购买 nike

如何在不先将其保存到本地驱动器的情况下获取打开的 Word 文档 (.docm) 的字节数组。
该文档将在没有来自 SharePoint 的任何本地驱动器的瘦客户端上打开。当用户想要保存更改时,我需要将字节数组发送到 Web 服务来处理它。 (不返回 SharePoint)。

Dim filePath As String
Dim fileName As String
Dim fullFileName As String
filePath = ThisDocument.path
fileName = ThisDocument.Name
fullFileName = filePath + "/" + fileName
  • filePath 的值为 'http://webiste/application'
  • 文件名的值为'theOpenFileName.docm'
  • fullFileName 的值为 'http://webiste/application/theOpenFileName.docm'

  • 如何将整个文件作为字节数组获取,以便可以像这样将其发送到 Web 服务:
    Dim bytFile() As Byte
    Dim http
    Dim userName As String
    Dim url As String

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    userName = "Me"

    '--- read file
    bytFile = ??????????

    '--- send the file to the API server
    url = "http://localhost/DocWebApi/Post?fileName=" & fileName & "&userName=" & userName

    http.Open "POST", url, False
    http.Send (bytFile)
    http.waitForResponse 4000
    提前致谢!

    最佳答案

    请尝试下一种方法:

    Sub testByteArray()
    Dim bytFile() As Byte, strDocShare As String
    Dim fileDoc As Integer: fileDoc = FreeFile

    strDocShare = Application.GetOpenFilename("Office Documents (*.docm),*.docm", , "Please select document to be processed...")
    If strDocShare = False Then Exit Sub 'If no document has been selected

    Open strDocShare For Binary Access Read As #fileDoc
    ReDim bytFile(0 To LOF(fileDoc) - 1)
    Get #fileDoc, , bytFile
    Close #fileDoc
    End Sub
    如果文档将打开,上述代码可能会返回错误。一种确定共享文档/工作簿是否被其他用户打开的方法,使用一些类似的代码并捕获错误...

    关于excel - 从当前打开的从 Sharepoint 下载的 Word 文档 .docm 中获取字节数组,而不保存到本地驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62634848/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com