【问题标题】:Read excel file hosted in remote server读取托管在远程服务器中的 excel 文件
【发布时间】:2019-09-16 07:53:43
【问题描述】:

我将一个 Excel 文件上传到服务器,该文件是一个小数据库。 我想使用 vba 通过另一个 excele 文件读取和写入文件。 有可能吗?

【问题讨论】:

    标签: excel vba server


    【解决方案1】:

    您可以使用以下代码打开所需的工作簿(然后将其关闭)。只要它处于打开状态,您就可以定期使用它(例如复制或粘贴数据)。

    仅使用示例:

    Workbooks("New Data.xlsx").Worksheets("Sheet").Range("A1:A2").Copy
    

    主要代码:

    Sub OpenWorkbook()
    'Open a workbook
    
      'Open method requires full file path to be referenced.
      Workbooks.Open "C:\Users\username\Documents\New Data.xlsx"
    
    End Sub
    
    
    Sub CloseWorkbook()
    'Close a workbook
    
      Workbooks("New Data.xlsx").Close SaveChanges:=True
    
    End Sub
    

    对于与 FTP 服务器的连接,此代码应该可以帮助您或至少给您一个想法。可能需要再次进行一些修补。

    Function FTP_Upload_File(QuellDatei As String, ZielDatei As String, FTPServer As String, FTPBenutzer As String, FTPKennwort As String) As Long
        Dim FTP             As Inet
        Dim ExecString      As String
    
        On Local Error GoTo FuncExit
    
        Set FTP = New Inet
        With FTP
            .Protocol = icFTP
            .RemoteHost = FTPServer
            .Username = FTPBenutzer
            .Password = FTPKennwort
    
            ExecString = "put " & Chr(34) & QuellDatei & Chr(34) & " " & Chr(34) & ZielDatei & Chr(34)
            .Execute .URL, ExecString
            Do While .StillExecuting
                DoEvents
            Loop
        End With
    
    FuncExit:
        FTP_Upload_File = FTP.ResponseCode
        Set FTP = Nothing
    End Function
    

    【讨论】:

    • 谢谢,我已经打开了文件,但是如何在服务器中保存更改?
    • 第二个 sub 中的`SaveChanges:=True` 参数应该保存您对文档所做的所有更改。
    • 是的,它保存了更改,但是我想在本地将修改后的文件上传到 ftp 服务器,你能帮我吗?
    • 谢谢,我会尽快通知您
    • 如果我能帮助你,请投票并接受我的回答,它给了我甜蜜的代表;)
    猜你喜欢
    • 2019-07-27
    • 1970-01-01
    • 2011-08-27
    • 2023-03-05
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多