[VB]排版程式 (原創程式)
自動換行程式(排版程式)
因為一般新聞 長度通常都蠻長的
在ppt不好po 新聞 每次都要手動
再排版一次
功能:
設定超過多長要斷行,
如果 一行超過50個字(手動設定切剛長度)
就會按enter
這樣排板比較好看
因為一般新聞 長度通常都蠻長的
在ppt不好po 新聞 每次都要手動
再排版一次
功能:
設定超過多長要斷行,
如果 一行超過50個字(手動設定切剛長度)
就會按enter
這樣排板比較好看
本來是使用TextForever 這個程式,不過他功能太多
我只用到字串分割功能,所以乾脆自己來做這個程式
text1 貼上 新聞內容
multiline要設true
multiline要設true
text2 用來輸入 長度 多長要斷行
command1 當然是用來轉換的
用到的函數 mid
夠簡單了吧
以下是程式碼
======================================================================
'轉換 按鈕
Private Sub Command1_Click()
======================================================================
'轉換 按鈕
Private Sub Command1_Click()
Dim x, y, z, k
If Text2.Text <> "" And (Val(Text2.Text) > 0) Then '數字 大於0 才執行
x = Len(Text1.Text) / (Text2.Text) '總長度 除以 字數
If Text2.Text <> "" And (Val(Text2.Text) > 0) Then '數字 大於0 才執行
x = Len(Text1.Text) / (Text2.Text) '總長度 除以 字數
y = 1
Text1.Tag = ""
For k = 1 To x + 1 '因為不一定會整除 所以加一
z = Mid(Text1.Text, y, Val(Text2.Text))
Text1.Tag = Text1.Tag + z + vbCrLf
y = y + Val(Text2.Text)
Next
Text1.Tag = ""
For k = 1 To x + 1 '因為不一定會整除 所以加一
z = Mid(Text1.Text, y, Val(Text2.Text))
Text1.Tag = Text1.Tag + z + vbCrLf
y = y + Val(Text2.Text)
Next
Text1.Text = ""
Text1.Text = Text1.Tag
End If
Text1.Text = Text1.Tag
End If
End Sub
'限制只能輸入 數字
Private Sub Text2_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8 'Back Space
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
以下是另一種方式
如有錯誤 歡迎指正