獲得文件名是完全不可行的,因為把圖片插入后不會保存文件名信息至于復制這樣寫Private Sub Command2_Click()RichTextBox2.TextRTF=RichTextBox1.TextRTFEnd Sub順便幫你寫了個改變字體大小的再加一個CommonDialogPrivate Sub Command1_Click()On Error Resume NextWith CommonDialog1.FontName = RichTextBox1.SelFontName.FontSize = RichTextBox1.SelFontSize.Color = RichTextBox1.SelColor.FontBold = RichTextBox1.SelBold.FontItalic = RichTextBox1.SelItalic.FontUnderline = RichTextBox1.SelUnderline.FontStrikethru = RichTextBox1.SelStrikeThruEnd WithCommonDialog1.Flags = cdlCFEffects Or cdlCFForceFontExist Or cdlCFScreenFontsCommonDialog1.ShowFontWith RichTextBox1.SelFontName = CommonDialog1.FontName.SelFontSize = CommonDialog1.FontSize.SelColor = CommonDialog1.Color.SelBold = CommonDialog1.FontBold.SelItalic = CommonDialog1.FontItalic.SelUnderline = CommonDialog1.FontUnderline.SelStrikeThru = CommonDialog1.FontStrikethruEnd WithRichTextBox1.SetFocusEnd Sub新建一個Command,一個RichtextboxPrivate Sub Command1_Click()RichTextBox1.OLEObjects.Add , , "C:\1.bmp"End Sub注:"C:\1.bmp"可以改為其它文件名添加圖片后,圖片會嵌入在文本里,不需要原來的圖片文件附方法2:再加一個Picturebox,命名為PicInsertAutosize=true Autoredraw=trueOption ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const WM_PASTE = &H302Private Sub Command1_Click()PicInsert.Picture = LoadPicture("c:\1.bmp")PicInsert.Picture = PicInsert.ImageDoEventsClipboard.ClearClipboard.SetData PicInsert.PictureSendMessage RichTextBox1.hwnd, WM_PASTE, 0, 0End Sub