返回列表 上一主題 發帖

[發問] 讀取表格

回復 10# Hsieh


請問Join的程式有辦法用And來寫嗎?
我聽人說這個比較簡單,Join是比較高階的用法
我不明白用And寫的話,是要哪些條件連結哪些條件??

               *ReDim Preserve Ar(s)
               *Ar(s) = Tb.Cell(i, j).Range.Sentences(s + 1)
               
            Next
            
         *mystr = Join(Ar, Chr(10))
         *.Value = mystr
         *.WrapText = True
         
         End With
         
         Erase Ar


還有可以解釋上面有*的程式意思嗎?
我雖然大概知道意思,但有人問我時,我真的無法達出來。


麻煩您了  謝謝!

TOP

捨簡而就繁

TOP

回復 11# kannas
老夏前輩的物件包裝方法是妳該學習方向
http://forum.twbts.com/viewthread.php?tid=782&extra=&highlight=word&page=1
參考之前的討論,你對物件聯結的方法會有較多的認識

單就VBA語法討論,你所提到的join方法
這是字串的連結函數,你可參考VBA說明
就能知道此函數用法及用途
你要用&代替JOIN函數當然也行
那就是在取得表格內的每一句字串,
用mystr=mystr & chr(10) & Tb.Cell(i, j).Range.Sentences(s + 1)
  1. Sub WriteWordTb()
  2. Dim Tb As Table, Ar()
  3. Set Wd = CreateObject("Word.Application") '創建WORD程式物件
  4. Cells.Clear '清空工作表內容
  5. With Wd '關於WORD程式物件
  6.   With .Documents.Open(ThisWorkbook.Path & "\1.doc") '開啟指定的檔案
  7.     For Each Tb In .tables 'doc文件中的每個Table
  8.     For i = 1 To Tb.Rows.Count
  9.         For j = 1 To Tb.Columns.Count
  10.            For s = 0 To Tb.Cell(i, j).Range.Sentences.Count - 1
  11.                 If mystr="" Then
  12.                 mystr=Tb.Cell(i, j).Range.Sentences(s + 1)
  13.                 Else
  14.                mystr= mystr & chr(10) & Tb.Cell(i, j).Range.Sentences(s + 1) '連接每句
  15.                End If
  16.            Next
  17.         With Cells(i, j)
  18.         .Value = mystr '儲存格的值
  19.          mystr=""   '把變數歸零
  20.         .WrapText = True  '儲存格設定成自動換行
  21.         End With
  22.         Next
  23.     Next
  24.     Next
  25.   End With
  26.   .Quit '關閉程式
  27. End With
  28. End Sub
複製代碼
學海無涯_不恥下問

TOP


為什麼H大可以有這些指令,但我沒有?


Uploaded with ImageShack.us
80 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題