以下是引用hao123在2005-1-21 18:20:00的发言:
输入汉字时如何能实时(即敲上档键时)将textbox1中的字符写入WORD中,详细情况见附件:运行时要敲回车键,而且运行有异常……
退一步,海阔天空。
以下代码供参考:
'* +++++++++++++++++++++++++++++
'* Created By I Love You_Word!@ExcelHome 2005-1-22 08:02:05
'仅测试于System: Windows NT Word: 10.0 Language: 2052
'^The Code CopyIn [用户窗体-UserForm1]^'
'* -----------------------------
Private Sub CommandButton1_Click()
End
End Sub
'----------------------
Private Sub CommandButton2_Click()
Dim i As Integer, Tx As String, MyTx As String
If TextBox1 <> "" Then
For i = 1 To Me.TextBox1.TextLength
Tx = Mid(Me.TextBox1, i, 1)
If Asc(Tx) < -2050 And Asc(Tx) > -20319 Then
MyTx = MyTx & Tx
Tx = ""
End If
Next
Selection.InsertAfter MyTx
Selection.EndKey unit:=wdLine
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------
Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus
Me.CommandButton2.Default = True
End Sub
'----------------------
几点意见供楼主思考:
一,对于自己不熟悉的功能或者程序,建议楼主再提问时,注意尽可能完善表达想得到的结果,以及要求。
二,每个人接触不同,理解不同,思路不同,解决问题的方法也不同。
三,不要以自己的理解去误导或者妨碍编程人员的思路
四,不要强行做一些程序难控制的事。
比如本贴子,初一看,是楼主要求用SHIFT键作为代码运行的事件,即让文本框捕捉到SHIFT键的动作,执行相关的代码,先不论是否可行,我们所知的键盘事件,有三个KEYDOWN(键盘按下),KEYPRESS(从压下到释放),KEYUP(释放),期间的键盘,主要为ANSI字符,相当于CHR(0~127),没有SHIFT和ALT+CTRL等组合键,虽然在事件中,系统可以侦测到是否按压了组合键,但无法单独对SHIFT键进行识别(普通程序事件中,我以为),当然,其它办法可以,比如我们连续按压5次SHIFT键,会出现一个辅助功能,说明系统能够近捕捉SHIFT事件。但其实,我们只要掌握了代码事件的规律,其实很方便,将一个命令按钮设为默认按钮,当文本框中的数据录入一个结束后,按下回车(同SHIFT应该没有区别,从执行与完成的角度,况ENTER键更方便操作),自动筛选出汉字并录入到WORD页面中。
五,请楼主注意提问的连续性,和持续性,一个贴子没有结贴,新贴子接踵而至,也不利于消化,也不利于以后查看,更使回复人员不知有没有完成对于楼主要求的设计。
OHCYPZXV.zip
(12.34 KB, 下载次数: 27)
|