導航:首頁 > 編程知識 > 編程中如何控制行列排版

編程中如何控制行列排版

發布時間:2025-03-22 05:36:48

word中利用VBA編程製作考試用作文稿紙

語文考試中,經常用到作文稿紙,Word中帶有稿紙模板,但有諸多限制(如紙型、行列數等相對固定),在試卷排版時頗為不便。經過嘗試,筆者找到一種利用Word的VBA編程,通過繪製表格實現考試用作文稿紙的方法。
一、編制程序
1.啟動Word,連續點擊「工具」,「宏」,「錄制新宏...」,在彈出的對話框中填寫宏名(此例為「作文稿紙」),選擇宏要保存的位置(可以保存在模板中,也可以保存在當前文檔中),如圖1所示。
2.為了方便操作,可以將此宏以按鈕的形式指定在工具欄中。單擊「錄制宏」對話框中的「工具欄」按鈕,在彈出的「自定義」對話框的右側,選中宏命令「Normal.NewMacros.作文稿紙」,用滑鼠將其拖動復制到「常用」工具欄,在其上單擊右鍵,選擇相應的命令修改名稱,為其編輯一個小圖標,結果如圖2所示。
3.單擊「錄制宏」對話框中的「關閉」按鈕,屏幕上將出現一個「錄制宏」工具欄,單擊停止按鈕停止錄制。
4.依次選擇「工具」、「宏」、「宏…」,在對話框中選擇宏名「作文稿紙」,單擊「編輯」按鈕,打開vba編程窗口。錄入如下代碼
Sub 作文稿紙()
UserForm1.CommandButton1.Enabled = True
UserForm1.Show
End Sub
5.插入一個窗體UserForm1,在其中插入4個標簽,4個文本框,一個按鈕。分別設置它們的相關屬性,其中,「所需行數」文本框的「text」屬性值設為25,「所需列數」文本框的「text」屬性值設為20,「行間距」文本框的「text」屬性值設為0.5,「首尾空行高度」文本框的「text」屬性值設為0.4,如圖3所示
6.雙擊命令按鈕CommandButton1,錄入以下代碼:
Private Sub CommandButton1_Click()
Dim n As Integer'定義一個變數為整數型
n = 1
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text) * 2 + 1, NumColumns _
:=Val(TextBox2.Text), DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
Selection.Tables(1).Rows.HeightRule = wdRowHeightExactly
'設定表格行高為固定值
Selection.Tables(1).Rows.Height = CentimetersToPoints(Val(TextBox3.Text))
'設置表格行高為設置值,作為行間距
Selection.Tables(1).Rows(1).Height = CentimetersToPoints(Val(TextBox4.Text))
'設置第一行行高為設置值
Do While n < Val(TextBox1.Text) + 1
Selection.EndKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=2
'將插入點移至下一行
Selection.Tables(1).Rows(2 * n).Height = Selection.Tables(1).Columns(1).PreferredWidth
'設行高等於列寬
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.EndKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=2
'將插入點移至下一行
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
'去除此行的內部框線,只余邊框
n = n + 1
Loop
Selection.Tables(1).Rows(Val(TextBox1.Text) * 2 + 1).Height = CentimetersToPoints(Val(TextBox4.Text))
'設置末行高為設置值
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
Selection.Tables(1).Rows.Alignment = wdAlignRowCenter
'表格居中
With Selection.Tables(1)
.Borders(wdBorderLeft).LineWidth = wdLineWidth150pt
.Borders(wdBorderRight).LineWidth = wdLineWidth150pt
.Borders(wdBorderTop).LineWidth = wdLineWidth150pt
.Borders(wdBorderBottom).LineWidth = wdLineWidth150pt
'設定表格邊框為粗線
End With
Selection.EndKey Unit:=wdLine
Unload Me
End Sub
二、使用
與Word的稿紙向導或稿紙載入項相比,此程序做出的稿紙顯然不適於在文檔中直接使用,但在製作作文試卷時優勢明顯。其一,不受紙型限制;其二,因為是表格,所以能根據需要自由地添加、刪除行列,還能在適當位置標注作文所要求的字數。

㈡ word中標簽排版怎麼排

現在印刷過程很多時候,都需要使用上矩陣排版的效果,而且標簽列印軟體中,有一個專業的生成矩陣的工具,可以非常簡單的實現此效果,那麼具體的水平和垂直間距該如何計算比較方便呢?下面我們就來詳細看一下。

閱讀全文

與編程中如何控制行列排版相關的資料

熱點內容
linux腳本覆蓋文件內容 瀏覽:452
m4文件 瀏覽:274
微信小程序查詢功能 瀏覽:447
低通二階濾波器c代碼 瀏覽:596
sif格式文件 瀏覽:273
win10如何隱藏此電腦 瀏覽:10
轉轉app視頻下載如何沒有水印 瀏覽:329
蘋果備忘錄文件找回 瀏覽:288
linux驅動版本 瀏覽:577
棋牌游戲界面在哪個文件夾 瀏覽:593
js上傳頭像裁剪移動端 瀏覽:609
微信不提示發送文件怎麼回事 瀏覽:213
word表格中無字 瀏覽:946
多閃app怎麼用照片做表情包 瀏覽:372
如何讓網站內容豐富 瀏覽:348
運輸組織與管理項目式教程 瀏覽:925
vba文件夾所有文件 瀏覽:226
郵件一個pdf文件發不出去 瀏覽:914
三星平板電腦跟蘋果比 瀏覽:482
javawebsocket伺服器 瀏覽:573

友情鏈接