回复:常驻内存的EXCEL文件读写

www95

西门子1847工业学习平台

  • 帖子

    163
  • 精华

    1
  • 被关注

    17

论坛等级:游侠

注册时间:2006-04-25

普通 普通 如何晋级?

发布于 2017-02-02 07:25:50

23楼

展开查看
以下是引用RENHQ在2016-12-23 18:32:03的发言 >15楼

可以~

不过还是自己敲一下比较好,可以把代码熟悉一下

直接复制,得来的太快,太简单反而记不住

以下是引用不断攀登在2016-12-23 15:45:51的发言 >14楼: 楼主能否把代码转...

引用14楼详细内容:


 楼主能否把代码转成 文本呀 研究下! 多谢!

Sub OnClick(ByVal Item)                                                        

'On Error Resume Next

Dim oExcel

Dim oWorkBook

Dim oSheet

Dim oFso

Dim sSheetName

Dim sPath

Dim sFileName

Dim sNewFileName

Dim sNewPath


Set oFso=CreateObject("Scripting.FileSystemObject")

sPath=HMIRuntime.ActiveProject.Path  

sFileName=sPath & "ywx.xlsm"

sNewFileName=Year(Now)&"-"& Right("0" & Month(Now),2)&"-"& Right("0"&Day(Now),2)

sNewFileName=sNewFileName & " " & Right("0"& Hour(Now),2)&"."& Right("0"&Minute(Now),2)

sNewFileName=sNewFileName & ".xlsm"

sNewPath=sPath & "USERDATA" & sNewFileName

Set oExcel=GetObject(,"Excel.Application") 

If VarType(oExcel) = vbEmpty Then  

Set oExcel=CreateObject("Excel.Application")

  End If

Set oWorkBook = oExcel.workbooks (sNewFileName)  

If VarType(oWorkBook)= vbEmpty Then 

  If oFso.FileExists.FileExists(sNewPath)=True Then  

    Set oWorkBook = oExcel.workbooks.OPen(sNewPath) 

   Else  

   Set oWorkBook = oExcel.workbooks.OPen(sFileName) 

        oWorkBook.saveas.sNewPath  

  End If 

End If

  oExcel.visible=True  

Set oSheet=oWorkBook.Sheets("Sheetl")

HMIRuntime.DataSet.Remove("oExcel")

HMIRuntime.DataSet.Add "oExcel", oExcel  

HMIRuntime.DataSet.Remove("oSheet")

HMIRuntime.DataSet.Add "oSheet", oSheet 

Set oFso = Nothing 


'Sub OnClick(ByVal Item)

'On Error Resume Next 



Set oExcel = HMIRuntime.DataSet.Item ("oExcel").Value  

Set oSheet = HMIRuntime.DataSet.Item ("oSheet").Value 


oSheet.cells(6,4).value=HmiRuntime.tags("alarmmsgtext1").Read  ’此处测试新加

oSheet.cells(3,4).value="4546456"  ’此处测试新加


'For i = 1 To 100 

'If IsEmpty(oSheet.cells(i,1).value) = True Then 

'Exit For  

' End If

'Next

'If i < 100 Then

'oSheet.cells(i,1).value = Now 

'oSheet.cells(i,2).value = iol.OutputValue 

'oSheet.cells(i,3).value = io2.OutputValue

'Else

'MsgBox "I>100"

'End If


'Sub OnClick(Byval Item)

'On Error Resume Next 


Set oExcel = HMIRuntime.DataSet.Item("oExcel").Value 

Set oSheet = HMIRuntime.DataSet.Item("oSheet").Value 

oExcel.DisplayAlerts = False 

oExcel.activeWorkbook.save

oExcel.activeWorkbook.close

oExcel.quit 

Set oSheet = Nothing 

Set oExcel = Nothing 

HMIRuntime.DataSet.Remove("oExcel")

HMIRuntime.DataSet.Remove("oSheet")



End Sub

REN圣你好,按照你三张图片输进同一个脚本后,还是不能够把变量写进外部EXCEL文件中。你看看什么地方有错误?

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32771条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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