表格里的时间是格林威治时间怎么改为北京时间? 2表格里的消息文本只能显示英文或者字符,中文成问号,(格式已经改为文本)

已锁定

后最

  • 帖子

    13
  • 精华

    0
  • 被关注

    3

论坛等级:游士

注册时间:2012-02-27

普通 普通 如何晋级?

表格里的时间是格林威治时间怎么改为北京时间? 2表格里的消息文本只能显示英文或者字符,中文成问号,(格式已经改为文本)

1941

21

2015-02-28 14:13:02

展开查看
引用自找答案,问题ID:124484

1表格里的时间是格林威治时间怎么改为北京时间?
2表格里的消息文本只能显示英文或者字符,中文成问号,(格式已经改为文本)
请详细指点一下

提问者:后最


zhangli0 回答道:

1、你可以把系统时间的时区直接改成格林威治时区;或者用当前时间减去8小时(东8区比格林威治时间早8小时)
2、你的小心文本是怎么写进去的?看看你脚本中定义的变量类型,你先定义一个变量,赋值字符串常数然后写到excel中看看。感觉是你的脚本问题。你把你的脚本发上来看看,实在不行到论坛讨论。

还有1人在找答案上回答了该问题,查看全部>
Sub OnClick(ByVal Item)

Dim sPro,sDsn,sSer,sCon,conn,sSql,oRs,oCom
Dim tagDSNName
Dim m,i
Dim objExcelApp,objExcelBook,objExcelSheet,sheetname
Dim MySqlStr
Set MySqlStr = HMIRuntime.Tags("MySqlStr")

item.Enabled = False
On Error Resume Next
sheetname="Sheet1"
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = False
objExcelApp.Workbooks.Open "C:\WinCCWriteExcel\excel_model.xls"
objExcelApp.Worksheets(sheetname).Activate
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
tagDSNName.Read

sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" &tagDSNName.Value& ";"
sSer = "Data Source=PC201501221109\WinCC"
sCon = sPro + sDsn + sSer
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open
MySqlStr.Read
sSql = "ALARMVIEW:Select * FROM AlgViewCHT "&MySqlStr.Value
MsgBox sSql
HMIRuntime.Trace "Sql is: " & sSql & vbCrLf
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = sSql
'填充数据到Excel中
Set oRs = oCom.Execute
m = oRs.RecordCount
If (m > 0) Then
oRs.MoveFirst
i=3
Do While Not oRs.EOF
objExcelApp.Worksheets(sheetname).cells(i,1).value= CStr(oRs.Fields(0).Value)
objExcelApp.Worksheets(sheetname).cells(i,2).value= CStr(oRs.Fields(1).Value)
objExcelApp.Worksheets(sheetname).cells(i,3).value= CStr(oRs.Fields(2).Value)
objExcelApp.Worksheets(sheetname).cells(i,4).value= CStr(oRs.Fields(37).Value)

oRs.MoveNext
i=i+1
Loop
oRs.Close
Else
MsgBox "没有所需数据……"
item.Enabled = True
Set oRs = Nothing
conn.Close
Set conn = Nothing
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
Exit Sub
End If
'释放资源
Set oRs = Nothing
conn.Close
Set conn = Nothing
'生成新的文件,关闭Excel
Dim patch,filename
filename=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))&CStr(Hour(Now))&CStr(Minute(Now))&CStr(Second(Now))
patch= "c:\"&filename&"_gexun.xls"
objExcelApp.ActiveWorkbook.SaveAs patch
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
MsgBox "成功生成数据文件!"
item.Enabled = True
End Sub
表格里的时间是格林威治时间怎么改为北京时间? 2表格里的消息文本只能显示英文或者字符,中文成问号,(格式已经改为文本) 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32935条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。