彰化一整天的論壇

 找回密碼
 立即註冊
查看: 699|回復: 8

doevents 用法

[複製鏈接]
發表於 2014-7-23 22:03:04 | 顯示全部樓層 |閱讀模式
您好我想請問如何利用doevents
在執行程式時,顯示userform2,
並隨時更新其中的Label1  "已執行 ?文件/總共_文件
謝謝您

test.doc

70 KB, 下載次數: 2

售價: 1 金錢  [記錄]  [購買]

回復

使用道具 舉報

發表於 2014-7-23 22:50:39 | 顯示全部樓層
您好,
    我執行您的檔案會出現底下錯誤.
20140723_word_01.jpg

1.錯誤畫面

20140723_word_02.jpg

2.錯誤行數




回復 支持 反對

使用道具 舉報

發表於 2014-7-24 10:16:43 | 顯示全部樓層
imingho 發表於 2014-7-23 22:50
您好,
    我執行您的檔案會出現底下錯誤.

您好,
      討論的問答請在網頁上說明.用[消息]我沒有登入時,是不會看到的.
PS:我有用訊息回您,請到訊息中心查看.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2014-7-24 12:09:05 | 顯示全部樓層
您好
能否請您於
"指定名稱中"     輸入 Our Ref.:
"名稱後空白數"  輸入 1
再請您試試
謝謝您
回復 支持 反對

使用道具 舉報

發表於 2014-7-24 13:23:46 | 顯示全部樓層
ciboybj 發表於 2014-7-24 12:09
您好
能否請您於
"指定名稱中"     輸入 Our Ref.:

您好,
     我幫您試出來了,請問您這次的code是否可以張貼,如果不行,麻煩您變更成可以的公開的例子,我再回覆您,避免造成彼此的困擾.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2014-7-24 18:51:49 來自手機 | 顯示全部樓層
本帖最後由 ciboybj 於 2014-7-24 20:54 編輯

您好謝謝您
code可以公開的
謝謝您
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2014-7-24 20:23:11 來自手機 | 顯示全部樓層
您好 可以公開的 謝謝您
回復 支持 反對

使用道具 舉報

發表於 2014-7-24 23:50:09 | 顯示全部樓層
ciboybj 發表於 2014-7-24 20:23
您好 可以公開的 謝謝您
  1. Private Sub 確認_Click()

  2.     Dim oSrcDoc As Document, oNewDoc As Document
  3.     Dim strSrcName As String, tem As String, cc As String, adf As String, mystr As String, mystr2 As String, ddd As String
  4.     Dim oRange As Range
  5.     Dim nIndex As Integer, nSubIndex As Integer, nTotalPages As Integer, nBound As Integer
  6.     Dim fso As Object

  7.     tem = ActiveDocument.Path
  8.                               
  9.      cc = Label2.Caption


  10.      Documents.Open FileName:=cc
  11.    
  12. Application.Visible = False


  13.      
  14.     ChangeFileOpenDirectory 所選路徑.Caption
  15.    
  16.    
  17.   adf = 指定名稱.Text
  18.   
  19.    'MsgBox adf
  20.    
  21.    
  22.     Selection.HomeKey Unit:=wdStory
  23.    
  24.     Selection.Find.ClearFormatting
  25.    
  26.    Selection.Find.Execute FindText:=adf, MatchCase:=True, Forward:=True
  27.    
  28.       
  29.   mystr = Selection.Information(wdActiveEndPageNumber)
  30.    
  31.      ' MsgBox mystr
  32.      
  33.        Selection.MoveRight Unit:=wdCharacter, Count:=1
  34.       
  35.       Selection.Find.Execute FindText:=adf, MatchCase:=True, Forward:=True
  36.       
  37.       
  38.     mystr2 = Selection.Information(wdActiveEndPageNumber)
  39.   
  40.      Selection.MoveRight Unit:=wdCharacter, Count:=1
  41.      
  42.      ' MsgBox mystr2
  43.    
  44.     nSteps = Val(mystr2) - Val(mystr)
  45.    
  46.     'nSteps = 分割頁數.Text
  47.    
  48.    
  49.     Set fso = CreateObject("Scripting.FileSystemObject")
  50.     Set oSrcDoc = ActiveDocument
  51.     Set oRange = oSrcDoc.Content
  52.    
  53.    
  54.     nTotalPages = ActiveDocument.Content.Information(wdNumberOfPagesInDocument)
  55.    
  56.    ' MsgBox nTotalPages
  57.    
  58.     oRange.Collapse wdCollapseStart
  59.    
  60.     oRange.Select
  61.    
  62.     UserForm1.Hide
  63.    
  64.     UserForm2.Show vbModeless

  65.    
  66.     For nIndex = 1 To nTotalPages Step nSteps
  67.    
  68.   
  69.    
  70.    ' MsgBox tem
  71.    
  72.     Set oNewDoc = Documents.Add   '(tem & "\test.DOC")   '加入同資料夾的TEST範本
  73.    
  74.    
  75.    
  76.     If nIndex + nSteps > nTotalPages Then
  77.     nBound = nTotalPages
  78.     Else
  79.     nBound = nIndex + nSteps - 1
  80.     End If
  81.    
  82.    
  83.     For nSubIndex = nIndex To nBound
  84.    
  85.    
  86.     oSrcDoc.Activate
  87.     oSrcDoc.Bookmarks("\page").Range.Copy
  88.     oSrcDoc.Windows(1).Activate
  89.     Application.Browser.Target = wdBrowsePage
  90.     Application.Browser.Next
  91.    
  92.    
  93.     oNewDoc.Activate
  94.     oNewDoc.Windows(1).Selection.Paste
  95.       Selection.TypeBackspace
  96.    

  97.         
  98.     Next nSubIndex '以上為頁的循環
  99.    
  100.       adf = 指定名稱.Text
  101.    
  102.     Selection.HomeKey Unit:=wdStory '移動至文字的最前面
  103.    
  104.    
  105.   Selection.Find.Execute FindText:=adf, MatchCase:=True, Forward:=True
  106.   
  107.   
  108.        ddd = 空格數.Text
  109.    
  110.      Selection.MoveRight Unit:=wdCharacter, Count:=1 + ddd
  111.    
  112.     Selection.EndKey Unit:=wdLine, Extend:=wdExtend
  113.     Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
  114.    
  115.    
  116.     strSrcName = Selection.Text '把找到的案號轉為文字
  117.    
  118.    
  119.     'MsgBox strSrcName
  120.    
  121.     '加入顯示
  122.     DoEvents

  123.    
  124.     UserForm2.Label1.Caption = "已執行" & nIndex & "文件/總共" & nTotalPages & "文件"
  125.    
  126.     oNewDoc.SaveAs strSrcName & 檔案名稱.Text & ".doc"
  127.    
  128.    
  129.     oNewDoc.Close , False
  130.    

  131.    

  132.    
  133.    
  134.     Next nIndex '以上為個新檔的循環
  135.    
  136.    
  137.     Set oNewDoc = Nothing
  138.     Set oRange = Nothing
  139.     Set oSrcDoc = Nothing
  140.     Set fso = Nothing
  141.    
  142.    
  143.     Application.ScreenUpdating = True
  144.    
  145.    
  146.    
  147.     MsgBox "已分割完畢", vbInformation, "智能智權系統"
  148. End Sub
複製代碼


test20140724.doc

79.5 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-4-25 02:10 , Processed in 0.035993 second(s), 14 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表