Board logo

标题: [文件操作] 之前用 start /max excel.exe 執行DDE,時會有衝突現象 [打印本页]

作者: sop0123    时间: 2017-12-12 21:42     标题: 之前用 start /max excel.exe 執行DDE,時會有衝突現象

請問 高手

之前用
start /max excel.exe
寫一個簡單的批次檔

是可以直接跳出,
另一個2013 excel,沒問題
可以,很方便作業

但【有巨集 DDE 時】,就會有衝突現象


而用 (手動)
1.執行 Win鍵+R
2.執行 excel /x
【有巨集 DDE 時】,就不會有衝突現象

請問 兩者方式,有何差異

可以請問

1.執行 Win鍵+R
2.執行 excel /x


要 如何 撰寫
可否 幫忙解決,感謝~~
作者: codegay    时间: 2017-12-12 22:12

你是台湾的朋友吗?大陆这边的术语有差异,应该是看不懂巨集指的是什么意思。需要你解释一下。
作者: codegay    时间: 2017-12-12 22:16



搜索 了一下,好像指的宏?
作者: sop0123    时间: 2017-12-12 22:33

回复 2# codegay

感謝. 回應
巨集是 excel內的 Visual Basic 編輯器
作者: Blitz    时间: 2017-12-12 22:49

出现的冲突是怎么样的,截个图吧
作者: ivor    时间: 2017-12-12 23:15

你应该从两种不同启动方式的命令行看看,有什么区别。
作者: sop0123    时间: 2017-12-13 18:36

補充 訴求 是

因為 之前
用二個 2003 excel是OK的
開二個 2003 excel都可以是 獨立視窗

而 升級到 2013
網上
是說 可以獨立
2010 才會有問題


問題是
本人一開 2013 excel
到第二個 2013 excel 就出現問題

所以 才想辦法
用 BAT 來簡化,克服

************************
目前
是用手動方式
1.執行 Win鍵+R
2.執行 excel /x (處理)
************************
1.要開二個獨立的 2013 excel

2.二個 2013 excel 的視窗

各開各的檔案,各跑各的巨集運作

A.檔案 跑訊號 策略
B.檔案 跑下單 交易
作者: codegay    时间: 2017-12-14 00:37

学一下VBS sendkey 挺简单的。应该是可以快速解决你这个问题。
作者: yu2n    时间: 2017-12-14 22:38

  1. 'test.vbs
  2. 'On Error Resume Next
  3. Dim oExcel, oWsh, sFile1, sFile2
  4. Set oExcel = CreateObject("Excel.Application")
  5. Set oWsh = CreateObject("WSCript.Shell")
  6. oWsh.CurrentDirectory = oExcel.Path
  7. oExcel.Quit
  8. sFile1 = "C:\Users\Yu2n\Desktop\新建 Microsoft Office Excel 工作表.xlsm"
  9. sFile2 = "C:\Users\Yu2n\Desktop\新建 Microsoft Office Excel 工作表 - 副本.xlsm"
  10. oWsh.Run "excel.exe """ & sFile1 & """", 1, False
  11. oWsh.Run "excel.exe /x """ & sFile2 & """", 1, False
  12. Set oExcel = Nothing
  13. Set oWsh = Nothing
复制代码

作者: yu2n    时间: 2017-12-14 23:07

  1. 'test2.vbs
  2. 'On Error Resume Next
  3. Main
  4. '************************************************************************
  5. Sub Main()
  6. '************************************************************************
  7.     Dim objExcel1, objExcel2, strFile1, strFile2
  8.    
  9.     If Excel_Init(objExcel1) <> True Or Excel_Init(objExcel2) <> True Then
  10.         Exit Sub
  11.     End If
  12.    
  13.     strFile1 = "C:\Users\Yu2n\Desktop\新建 Microsoft Office Excel 工作表.xlsm"
  14.     strFile2 = "C:\Users\Yu2n\Desktop\新建 Microsoft Office Excel 工作表 - 副本.xlsm"
  15.    
  16.     objExcel1.Workbooks.Open(strFile1)
  17.     objExcel2.Workbooks.Open(strFile2)
  18.    
  19.     Excel_Show objExcel1, True
  20.     Excel_Show objExcel2, True
  21.    
  22. End Sub
  23. '************************************************************************
  24. '创建 Excel 对象
  25. '************************************************************************
  26. Function Excel_Init(ByRef objExcel)
  27.     Const msoAutomationSecurityLow = 1 '宏有效打开文件,Application 启动初始值。
  28.     Const msoAutomationSecurityByUI = 2 '使用安全性警告对话框中指定的安全级别打开文件。
  29.     Const msoAutomationSecurityForceDisable = 3 '不显示安全性警告对话框,宏无效打开文件。
  30.     On Error Resume Next
  31.     Set objExcel = CreateObject("Excel.Application")
  32.     If Not Err.Number = 0 Then
  33.         Msgbox "错误:无法创建 Excel 对象,你可能没有安装 Excel 。", vbCritical+vbOKOnly, WScript.ScriptName
  34.         WScript.Quit(999)
  35.     End If
  36.     If Not objExcel.Application.Version >= 12.0 Then
  37.         Msgbox "警告:请使用 Office 2007 以上版本。", vbExclamation+vbOKOnly, WScript.ScriptName
  38.     End If
  39.     ' 隐藏运行,屏蔽提示
  40.     Excel_Show objExcel, False
  41.     'objExcel.AutomationSecurity = msoAutomationSecurityByUI '宏安全性配置
  42.     Excel_Init = (Err.Number = 0)
  43. End Function
  44. '************************************************************************
  45. Sub Excel_Show(ByRef objExcel, ByVal blnShowOrHide)
  46. '************************************************************************
  47.     objExcel.Visible = (blnShowOrHide = True)
  48.     objExcel.DisplayAlerts = (blnShowOrHide = True)
  49. End Sub
复制代码

作者: sop0123    时间: 2017-12-15 16:16

回复 10# yu2n

yu2n 大大

感謝指點

已能處理,解決了.... 感謝!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2