[轉貼] Excel VBA – 從 Word 表格取回資料

出至:http://www.pczone.com.tw/vbb3/thread/5/61970/

【教學】Excel VBA – 從 Word 表格取回資料

如何從Word表格取回資料至Excel工作表?
我所知的方法有 DDE 和 OLE,但我只會用 OLE 囉…

Sub get_word_table( )
Dim wrdApp As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("D:\Temp\ole_test.doc")
With wrdDoc.Tables(1)
 For r = 1 To .Rows.Count
  For c = 1 To .Columns.Count
  Cells(r, c) = .Cell(r, c)
  Next c
 Next r
End With
wrdDoc.Close ‘close the document
wrdApp.Quit ‘close Word
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub

逐行說明

宣告一個物件變數 wrdApp
令物件變數 wrdApp = 建立的Word應用程式物件
令物件變數 wrdDoc = 指定的Word文件檔案
引用該 Word 文件的第一個表格
對該表格的每一列做迴圈, 變數 r 為列號
對每一列的每一欄做迴圈, 變數 c 為欄號
令目前工作表的第 r 列第 c 欄儲存格值 = 該 Word 表格的對應儲存格
繼續迴圈中的下一欄, 直到最後一欄
繼續迴圈中的下一列, 直到最後一列
結束該Word表格的引用
關閉該Word文件檔
結束Word應用程式
釋放物件變數wrdDoc
釋放物件變數wrdApp

PS.這個程式要在Excel空白工作表中執行。

jQuery 讓 table 資料表轉為 json 物件

From: http://stackoverflow.com/questions/2240005/convert-a-html-table-data-into-a-json-object-in-jquery

An HTML table? Like, all the <td> contents in a 2-d array?

所有的TD標籤內容全都併在一起

var tbl = $(‘table#whatever tr’).map(function() {
    return $(this).find(‘td’).map(function() {
        return $(this).html();
    }).get();
}).get();

Then just use $.json (or whatever library you want) to turn that into a JSON string.

edit — re-written to use the native (shim here) .map() from the array prototype:

範例將每一列存為一物件

var tbl = $(‘table#whatever tr’).get().map(function(row) {
    return $(row).find(‘td’).get().map(function(cell) {
        return $(cell).html();
    });
});

Windows 2008 啟用路由服務並設定靜態路由規則

在 Windows 上最簡單指定路由的作法,就是透過「route」命令直接加入路由規則到 「route table」 。

route add 150.4.249.0 mask 255.255.255.0 192.168.128.236 metric 3 if 12

但這只是暫時性的作法,當系統重新開機後靜態路由的設定就會消失。

因此要讓系統重新啟動照樣可以運行我們所指定的路由規則,可以新增伺服器角色「網路原則及存取服務」。

角色安裝成功後接著要設定啟用

設定完成啟用後,接著要設定靜態路由規則。

 

完成設定後查詢顯示的路由表

Asp.net 的 GridView 使用 table-layout:fixed 樣式 固定寬度

設置表格樣式style="table-layout:fixed;width:800px;",也就是GridView的樣式。

HeaderStyle:控制欄位的樣式,Gridview表頭的樣式。
ControlStyle:控制儲存內容控件的樣式,例如input標籤。
ItemStyle:通用樣式,這個就不常用到了。

範例說明(aspx)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                CellPadding="4" DataKeyNames="MV001" DataSourceID="SqlDataSource1" 
                BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" Width="100%" style="table-layout:fixed;" >
                <Columns>
                    <asp:CommandField ShowEditButton="True" CancelText="☆" EditText="△" 
                        UpdateText="★" >
                    </asp:CommandField>
                    <asp:BoundField DataField="MV001" HeaderText="工號" ReadOnly="True" SortExpression="MV001">
                    <HeaderStyle Width="50px" />
                    <ItemStyle  width="50px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="NAME" HeaderText="姓名" SortExpression="NAME">
                    <HeaderStyle Width="60px" />
                    <ItemStyle  width="60px" />
                    <ControlStyle Width="60px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="MV004" HeaderText="ISO" SortExpression="MV004" >
                    <HeaderStyle Width="30px" />
                    <ItemStyle  width="30px" />
                    <ControlStyle Width="30px" />
                    </asp:BoundField>
<!-- 
######################################################################
######################################################################
######################################################################
-->
                </Columns>
                <EditRowStyle BackColor="#FFFF66" />
                <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
                <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" 
                    Width="50px" HorizontalAlign="Center" Wrap="True" />
                <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
                <RowStyle BackColor="White" ForeColor="#330099" HorizontalAlign="Center" 
                    Wrap="True" />
                <SelectedRowStyle Font-Bold="True" ForeColor="#663399" />
                <SortedAscendingCellStyle BackColor="#FEFCEB" />
                <SortedAscendingHeaderStyle BackColor="#AF0101" />
                <SortedDescendingCellStyle BackColor="#F6F0C0" />
                <SortedDescendingHeaderStyle BackColor="#7E0000" />
            </asp:GridView>

參考來源:DataGrid屬性