每30秒连接一次服务器,连接成功单元格变绿色,连接失败变红色,状态单元格为17行,2列

1,打开excel文件,进入vba编辑器,新建一个modules模块,在里面先写一个每30秒执行一次ConnServer宏

Sub StartTimer()
Application.OnTime Now + TimeValue("00:00:30"), "StartTimer"
ConnServer
End Sub

2,再编写一个访问服务器代码的宏

Client.BaseUrl = "http://localhost:56112"填的是本地项目

Request.Resource = "/test/CheckConnServer" 访问testController下的CheckConnServer方法

Sub ConnServer()
Dim Client As New WebClient, Request As New WebRequest, Response As WebResponse, ResponseString As String, Body As Object On Error GoTo MyErr
Client.BaseUrl = "http://localhost:56112"
Client.TimeoutMs = Request.Resource = "/chhk/CheckConnServer"
Request.Method = WebMethod.HttpPost
Set Body = New Dictionary
Body.Add "fileName", ThisWorkbook.Name Set Request.Body = Body Set Response = Client.Execute(Request)
ResponseString = Response.Content
' 判断访问状态
If ResponseString = "OK" Then
ThisWorkbook.Sheets("Sales Portal").Cells(, ).Interior.Color = RGB(, , )
Else
ThisWorkbook.Sheets("Sales Portal").Cells(, ).Interior.Color = RGB(, , )
End If Exit Sub
MyErr:
ThisWorkbook.Sheets("Sales Portal").Cells(, ).Interior.Color = RGB(, , )
' 访问代码报错时单元格变红色
End Sub

3,MVC控制器中的方法

        [HttpPost]
[AllowAnonymous]
public string CheckConnServer(string fileName)
{
return new TxtConnServer().TryConnServer(fileName);
}

4,MVC项目中添加访问时间,工作蒲名称的类

AppDomain.CurrentDomain.BaseDirectory获取基目录,没有存在则生成一个CheckConnServer.txt文件

public class TxtConnServer
{
public string TryConnServer(string requestConnBody)
{ try
{
//写入连接服务器信息
string file = AppDomain.CurrentDomain.BaseDirectory + "CheckConnServer.txt";
if (!File.Exists(file))
File.Create(file).Close(); FileStream fs = new FileStream(file, FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(" ");
sw.WriteLine(requestConnBody + "-----------" + DateTime.Now.ToChinaTime().ToString("dd-MM-yyyy HH-mm-ss"));//开始写入值 sw.Close();
fs.Close();
return "OK";
}
catch (Exception ex)
{
return "Write error";
} }
}

Excel vba中访问ASP.NET MVC项目,记录访问时间,文件名称的更多相关文章

  1. Angular2中对ASP.NET MVC跨域访问

    应用场景 项目开发决定使用angular2进行前后端分离开发,由我负责后端服务的开发,起初选择的是web api进行开发.对跨域访问通过API中间件+过滤器对跨域访问进行支持.开发一段后,通知需要移植 ...

  2. 在 ASP.NET MVC 项目中使用 WebForm、 HTML

    原文地址:http://www.cnblogs.com/snowdream/archive/2009/04/17/winforms-in-mvc.html ASP.NET MVC和WebForm各有各 ...

  3. 在已有的Asp.net MVC项目中引入Taurus.MVC

    Taurus.MVC是一个优秀的框架,如果要应用到已有的Asp.net MVC项目中,需要修改一下. 1.前提约定: 走Taurus.MVC必须指定后缀.如.api 2.原项目修改如下: web.co ...

  4. ASP.NET MVC项目中App_Code目录在程序应用

    学习ASP.NET MVC,如果你是开发ASP.NET MVC项目的,也许你去为项目添加前ASP.NET项目的APP_Code目录,在这里创建与添加的Class类,也许你无法在MVC项目所引用. 那这 ...

  5. asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFactory,DALMsSql'.

    asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFa ...

  6. VS2017中建立ASP.NET MVC 4.0项目

    新的项目需要运行在WIN2003上,又不想用ASPX了,只好用回ASP.NET MVC4.0了,可是在VS2017中已经没有MVC4的模板了,网上下载的安装了也没有,只好把以前的MVC4的项目拿 出来 ...

  7. 在ASP.NET MVC项目中使用极验验证(geetest)

    时间 2016-03-02 18:22:37 smallerpig 原文  http://www.smallerpig.com/979.html 主题 ASP.NET MVC   geetest开发体 ...

  8. 习题-任务2初始ASP.NET MVC项目开发

    一.选择题 1.在ASP.NET MVC项目的RouteConfig.cs文件中,(    )方法注册了默认的路由配置. A.RegisterMap    B.RegisterRoutes    C. ...

  9. 1.2 认识ASP.NET MVC项目结构

    1.开发环境 操作系统:xp.vista.windows 7.windows 8.windows server 2003|2008|2008R2|2012: 集成开发环境IDE: Vsiual Stu ...

随机推荐

  1. python默认编码设置

      打开python 的gui,输入 1 2 import sys sys.getdefaultencoding() 查询系统当前默认编码 默认情况下显示编码方式为ASCII 在python安装目录下 ...

  2. windows系统dokuwiki安装部署设置 xampp环境配置

    简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...

  3. 简单介绍shell编程四剑客之grep

    概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...

  4. PyTorch入门(一)向量

    什么是PyTorch?   PyTorch是Facebook人工智能团队开发的一个机器学习和深度学习工具,用于处理大规模图像分析,包括物体检测,分割与分类.但是它的功能不仅限于此.它与其它深度学习框架 ...

  5. ASP.Net Mvc实现自定义User Identity用户身份识别系统(1)

    目的 当我们新建asp.net mvc 项目时,我们在使用下图所示的代码是否有以下思考: 1,在this.User.Identity.Name,为什么可以使用this便可以选中Name属性: 2,若项 ...

  6. AI产品的商业模式

    AI产品的商业模式 ------------------------------------------------------------------------------------------ ...

  7. Jinja2用法总结

    Jinja2用法总结   一:渲染模版 要渲染一个模板,通过render_template方法即可. @app.route('/about/') def about(): # return rende ...

  8. 关于javascript异步

    1.简单的理解 JavaScript是单线程的!总所周知,正常代码是从上而下,一条一条顺序执行的.就好比下楼梯,第一条代码先获得内存或者先执行操作.当遇到漫长的处理操作时(比如读取庞大的文件时,执行大 ...

  9. java 设计模式 ---- 工场模式

    官方描述: 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类 土话描述: 先把所有的情况设先计出来, 后面根据条件实现哪种情况 比如我想找女朋友, 喜欢的类型可能是: 屁股大的, 胸挺的, ...

  10. 巧用Handler获取View控件信息

    众所周知,在Android实际开发中,对于某些复杂多变的情况,控件的位置摆放.大小控制并非是xml类型的layout文件完全可以搞定的.此时,我们通常会使用Java代码来通过动态计算,将指定的控件摆放 ...