打开RTF用RichTextBox控件打开就可以正常显示和操作了,打开方法如下:
RichTextBox1.LoadFile
文件名,
rtfRTF'(后缀为rtfText表示打开纯文本文件,后缀为rtfRTF时表示打开RTF文本)
然后就可以用RichTextBox1.Text来取字符串了
如果要把RTF文件保持为Txt文件,可以这样保存
RichTextBox1.SaveFile
rtfText
'(后缀为rtfText表示保存为纯文本,后缀为rtfRTF时表示保存为RTF文本)
加一个图片框并隐藏,用来加载图像.用时将图片复制到剪贴板,再粘贴到richtextbox内.
代码不全无法解答只能给你瞎猜
意思就是做个记事本吧
看下面的
用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来.但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!
通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等.
第一章 让我们的记事本马上运行
急于求成是初学者共有的心愿.那好,请按如下三个步骤做,我们的愿望立即就可以实现!
步骤一:绘制界面.
一.文件菜单:
文件(第一层) mnuFile
新建(第二层) mnuNew
打开(第二层) mnuOpen
保存(第二层) mnuSave
- (第二层) mnuFileSep (分隔线)
退出(第二层) mnuExit
复制(第二层) mnuCopy
剪切(第二层) mnuCut
粘贴(第二层) mnuPaste
- (第二层) mnuEditSep (分隔线)
全选(第二层) mnuSelecAll
三.搜索菜单:
搜索(第一层) mnuSearch
查找(第二层) mnuFind
查找下一个(第二层) mnuFindOn
四.帮助菜单:
帮助(第一层) mnuHelp
使用说明(第二层) mnuUsage
关于(第二层) mnuAbout
(注:各菜单项的快捷键请自行设置)
好了,其它的菜单项以后再根据需要添加.现在进入:
步骤三:编写代码.
'声明查找变量
Dim sFind As String
'声明文件类型
Dim FileType, FiType As String
'初始化程序
Private Sub Form_Load()
'设置程序启动时的大小
End Sub
Private Sub Form_Resize()
On Error Resume Next '出错处理
'新建文件
Private Sub mnuNew_Click()
RichTextBox1.Text = "" '清空文本框
FileName = "未命名"
Me.Caption = FileName
'打开文件
Private Sub mnuOpen_Click()
CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName
RichTextBox1.LoadFile FileName
Me.Caption = "超级记事本:" FileName
'保存文件
Private Sub mnuSave_Click()
CommonDialog1.ShowSave
FileType = CommonDialog1.FileTitle
Select Case FiType
Case "txt"
RichTextBox1.SaveFile FileName, rtfText
Case "rtf"
RichTextBox1.SaveFile FileName, rtfRTF
Case "*.*"
RichTextBox1.SaveFile FileName
End Select
'退出
Private Sub mnuExit_Click()
End
'复制
Private Sub mnuCopy_Click()
Clipboard.Clear
Clipboard.SetText RichTextBox1.SelText
'剪切
Private Sub mnuCut_Click()
RichTextBox1.SelText = ""
'全选
Private Sub mnuSelectAll_Click()
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.Text)
'粘贴
Private Sub mnuPaste_Click()
RichTextBox1.SelText = Clipboard.GetText
'查找
Private Sub mnuFind_Click()
sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind)
RichTextBox1.Find sFind
'继续查找
Private Sub mnuFindOn_Click()
RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1
RichTextBox1.Find sFind, , Len(RichTextBox1)
'使用说明
Private Sub mnuReadme_Click()
On Error GoTo handler
RichTextBox1.LoadFile "Readme.txt", rtfText '请写好Readme.txt文件并存入程序所在文件夹中
Me.Caption = "超级记事本:" "使用说明"
Exit Sub
handler:
'关于
Private Sub mnuAbout_Click()
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
PopupMenu mnuEdit, vbPopupMenuLeftAlign
Else
End If
'防止在切换输入法时字体自变(感谢王必成先生提供此方案)
Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then
RichTextBox1.SelFontName = CommonDialog1.FontName
当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章.
第二章 美化程序界面
多数字处理软件都有工具栏和状态栏.工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利.现在我们就来做一做这两样东西.
一.工具栏
(一)制作工具栏
图片有了,此时此刻呢在程序界面添加工具栏(ToolBar).添加后工具栏就出现在菜单下面,右键单击它,选择"属性",在弹出的"属性页"对话框中的"通用"项作些设置,主要如下两项:
①"图像列表":选择ImageList1
(二)编写工具栏的按钮代码
Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key '按关键字选择
Case "新建"
mnuNew_Click '等于菜单项"新建"被单击
Case "打开" '等于菜单项"打开"被单击
mnuOpen_Click
'......(继续编写其它按钮的代码)
二.状态栏
(一)制作状态栏
0-sbrText 显示文本,需编写代码
①.-sbrCaps 显示大小写状态,无需编程
(二)状态栏根据其"样式"属性决定用不用编写代码(如上文所述).下面举些例子,读者可以认真揣摩,从而达到举一反三的效果.
例一:用户选取了"新建"后,让第一个窗格显示:"目前状态:正在打开文件<<......>>".请将下面代码写进"打开"菜单里面:
StatusBar1.Panels(1).Text = "目前状态:正在打开文件" "<<" CommonDialog1.FileTitle ">>"
例二:让第三个窗格显示时间并让时间跟随系统时钟变化.
首先,给程序加一个Timer控件,将其Interval属性设为1000.然后:
在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码:
Private Sub Timer1_Timer()
Private Sub RichTextBox1_Chang()
回答完毕!
除非使用word的vba方式也就是用vb.net操作word
否则 不可能编程实现两者的转换,word的文件结构需要许可的,而且很复杂
当然可以通过xml格式,但是和在word中另存为rtf格式 没有本质的区别
你熟悉操作XML结构的文件吗?如果熟悉的话就好办了.
看到其实是个XML文件.此时此刻呢用你的VB对XML操作便可以获取或修改Word文档里的内容了.
在XML层面操作文本文件,很容易解决诸如"ABC"替换"CBA"或者发现含有"ABC"就xxx="T"之类的.
像你这个需求不用懂XML其实也可以解决,只要保证你的关键词字不与word格式里关键词重叠就行.
此时此刻呢
Do While Not EOF(1)
Line Input #1,s
If Instr(1,s,"ABC")0 Then
Label1.Caption = "T"
s = Replace ("ABC","CBA")
Loop
Close #1
这样既可,当然正宗上道的方法还是用Office Word里带的VBA来做此事
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!