从Excel宏更新我的wiki



我目前可以使用如下python脚本更新我的合流wiki页面:

import sys
from xmlrpclib import Server
s = Server("https://my.wiki.root/rpc/xmlrpc")
token = s.confluence2.login("user", "passwd")
page = s.confluence2.getPage(token, "WIKI SPACE", "page")
page["content"] = '<xml content>'
s.confluence2.storePage(token, page)

[归功于Atlassian的Confluence XML-RPC和SOAP APIs]

但是我不能在我的电脑上安装Python(我对这种很棒的语言了解不多),我想知道我是否可以用Excel轻松地安装它。我正在尝试这个:

Sub updatePage()    
    Dim URL As String, myXML As String
    Dim xmlHttp As Variant    
    Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    myXML = "<my xml>"
    URL = "https://my.wiki.root/rpc/xmlrpc"
    xmlHttp.Open "POST", URL, False
    #' I specify my content type
    xmlHttp.SetRequestHeader "Content-Type", "text/xml"
    #' Here I'm less and less sure
    xmlHttp.send "pageId=248091993&editorFormat=" + myXML
    #' This is void...
    MsgBox xmlHttp.responseText
End Sub

我只是在responseText中一无所获。我不知道该往哪里看。

  • 我如何"模拟"这些python命令(而不必安装像pyxll这样怪异的软件)?如果我没有vba解决方案,我会(很容易?)修复一些东西,通过putty将命令发送到可以运行python的服务器。。。但我相信这可以用Excel完成
  • 如果我知道如何用Server("xmlrpc URL")在python中返回这个s结构,我会赢的!但它是什么?如何使用Excel获取它

您应该尝试登录VBA代码。

你在Python中做这件事,但为什么不在VBA中呢?

例如

URL = "my.wiki.root/rpc/xmlrpc?id=user&pwd=passwd"; 

这应该可以解决您的问题。

最新更新