VB.NET动态更新VSTO功能区中的链接
我在VSTO 2017上有一个自定义Office Ribbon加载项,内置于VB.NET(Framework 4.6.1)中(无论哪个Office应用程序需要在Excel、Word、Outlook和PowerPoint中执行此操作)。功能区中有一个按钮,用于将用户带到链接,该链接当前是硬编码的(请参见下面的示例): 有没有办法使这个链接动态化?理想情况下,我可以在网上的某个地方有一个表或资源,其中包含以下伪代码:VB.NET动态更新VSTO功能区中的链接,vb.net,sharepoint,Vb.net,Sharepoint,我在VSTO 2017上有一个自定义Office Ribbon加载项,内置于VB.NET(Framework 4.6.1)中(无论哪个Office应用程序需要在Excel、Word、Outlook和PowerPoint中执行此操作)。功能区中有一个按钮,用于将用户带到链接,该链接当前是硬编码的(请参见下面的示例): 有没有办法使这个链接动态化?理想情况下,我可以在网上的某个地方有一个表或资源,其中包含以下伪代码: myLink1 = GoTo("http://MasterURL.com").Re
myLink1 = GoTo("http://MasterURL.com").RetrieveLink(1)
Diagnostics.Process.Start(myLink1) 'I can update myLink1 to google.com
这样,我不需要向用户发布更新,以防MyLink 1发生更改,我只需在某个网站MasterURL.com或某个服务器上进行更新,功能区就会检索到它并直接指向该页面
这似乎是一件基本/简单的事情,但我似乎找不到解决办法
非常感谢您基本上需要调用按钮下的服务才能从在线存储中获取链接。(或在最终用户计算机上查询数据库) 举个例子,我在谷歌上搜索了一些测试API,发现了这个 这些站点公开了一个API,每个人都可以调用该API进行测试 下面是一个示例,说明如何在不进行任何错误处理的情况下做到这一点(有多种方法)
class Program
{
static void Main(string[] args)
{
// here is your on-line source
var url = "https://jsonplaceholder.typicode.com/posts";
string responseFromServer;
var request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
using (var response = request.GetResponse())
{
using (var dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
}
}
Console.WriteLine(responseFromServer);
Console.Read();
}
}
嗯……这比我希望的要复杂一些,但逻辑是有道理的。谢谢你的回答
class Program
{
static void Main(string[] args)
{
// here is your on-line source
var url = "https://jsonplaceholder.typicode.com/posts";
string responseFromServer;
var request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
using (var response = request.GetResponse())
{
using (var dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
}
}
Console.WriteLine(responseFromServer);
Console.Read();
}
}