- ベストアンサー
フォームの内容をプリント
教えて下さい。vb初心者です。 VB6.0にてアプリケーションを作成しています。 フォームモジュールを作成して、その中にグラフなどを表示させています。そのフォームに描かれている内容をコマンドボタンのクリックイベントなどで、そのままプリントアウトしたいのですが、どのようにすればいいのでしょうか?また、そのフォームの内容をエクセルのシートなどにも、貼り付けたいのですが、どのようにすればいいのでしょうか? 教えて下さい。
- みんなの回答 (4)
- 専門家の回答
教えて下さい。vb初心者です。 VB6.0にてアプリケーションを作成しています。 フォームモジュールを作成して、その中にグラフなどを表示させています。そのフォームに描かれている内容をコマンドボタンのクリックイベントなどで、そのままプリントアウトしたいのですが、どのようにすればいいのでしょうか?また、そのフォームの内容をエクセルのシートなどにも、貼り付けたいのですが、どのようにすればいいのでしょうか? 教えて下さい。
補足
ありがとうございます。 URLを拝見しました。 その中で >ずばりなサンプルを見つけました。 >何語?? の回答でこのURL:にアクセスできないのですが、この移り先など知っていたら教えてください。 また、サンプルコードが書かれているコードを実装して、エクセルに保存するコードを作成したのですが、うまくいきません。アプリケーション起動時最初の1回目は、うまくできるのですが、2回目からエラーが出ます。 コードを添付します。 フォームのコマンドボタン2を押してコピー フォームのコマンドボタン1を押して張り付け Private Type tagKEYBDINPUT wVk As Integer wScan As Integer dwFlags As Long time As Long dwExtraInfo As Long bytUnusedPadding(7) As Byte End Type Private Type tagINPUT type As Long ki As tagKEYBDINPUT End Type Private Const INPUT_KEYBOARD = 1 Private Const VK_SNAPSHOT = &H2C Private Const VK_LMENU = &HA4& Private Const KEYEVENTF_KEYUP = &H2 Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As tagINPUT, ByVal cbSize As Long) As Long Private Sub Command2_Click() '画面をクリップボードにコピーさせる Call fucSnapShot End Sub Sub fucSnapShot() Dim inpInfomation(3) As tagINPUT ' キー ストロークを作成 With inpInfomation(0) .type = INPUT_KEYBOARD .ki.wVk = VK_LMENU End With With inpInfomation(1) .type = INPUT_KEYBOARD .ki.wVk = VK_SNAPSHOT End With With inpInfomation(2) .type = INPUT_KEYBOARD .ki.wVk = VK_LMENU .ki.dwFlags = KEYEVENTF_KEYUP End With With inpInfomation(3) .type = INPUT_KEYBOARD .ki.wVk = VK_SNAPSHOT .ki.dwFlags = KEYEVENTF_KEYUP End With ' キー ストロークを合成 Call SendInput(3, inpInfomation(0), Len(inpInfomation(0))) 'Windowsに処理を渡す(クリップボードに画像がわたる) DoEvents End Sub Private Sub Command1_Click() Call ExcelProc End Sub Public Sub ExcelProc() ' Dim xl As Object ' Set xl = GetObject("d:\test.xls") ' xl.Visible = True Dim xl2 As Excel.Application Dim xl2Book As Object Dim xl2Sheet As Object Set xl2 = CreateObject("excel.application") xl2.Visible = True xl2.Workbooks.Open ("d:\test.xls") Set xl2Book = xl2.ActiveWorkbook Set xl2Sheet = xl2Book.Worksheets(1) xl2Sheet.Select Range("d10").Select ActiveSheet.Paste xl2Sheet.Range("a2").Value = Me.Text1.Text '保存 ChDir "D:\" ActiveWorkbook.SaveAs FileName:="D:\test2.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False xl2Book.Close True Set xl2Book = Nothing Set xl2Sheet = Nothing xl2.Quit Set xl2 = Nothing End Sub コード上おかしなところがありましたら教えて下さい。