![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.4ベストアンサー
- 回答日時:
この回答への補足
ありがとうございます。
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
コード上おかしなところがありましたら教えて下さい。
No.3
- 回答日時:
>印刷
過去ログにあります。
>貼り付け
Alt+PrintScreenを擬似的に発生させる方法が過去ログにあります。
CreateObject("Excel.Application")でVBからExcelを操作できます。(過去ログ参照)
貼り付け(CTRL+V)は、.ActiveSheet.Pasteです。
No.1
- 回答日時:
PrintFormではだめですか。
Form1に1つテキストボックスを張りつけました。
Private Sub Form_Click()
Text1.Text = "aaa"
Form1.PrintForm
End Sub
実行すると、プリンタにFormの四角い画面とテキストボックスとその中にaaaがはいって、画像が印刷出来ました。
この回答への補足
ありがとうございます。確かにプリントアウトができることを確認できました。
しかしながら現在私が作成しているフォームが大きいため2/3ぐらいプリントアウトできないのですが、この現象を避けるための手段などはご存知でないですか?
教えて下さい。
ついでにエクセルにも貼りつけたいです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
Access VBA コントロールの参照...
-
クリックイベントなのに、2回ク...
-
複数モニタ使用時のフォームの...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
テキストボックス入力データの...
-
Excelにて、ユーザーフォームで...
-
VB.NETでフォーム間でのコント...
-
Excel VBAで別のブックからユ...
-
EXCEL ユーザーフォームのタイ...
-
ExcelVBA:フォームの閉じるボ...
-
モーダルフォームとモードレス...
-
VB6.0のフォーム間の関数呼び出...
-
フォーム2つを並列処理
-
me.caption
-
VBA ユーザーフォームを速く開...
-
Microsoft Forms とか、それに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
Microsoft Formsの「個人情報や...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
Hideについて(.NET)
-
モーダルフォームとモードレス...
-
ユーザーフォーム上に現在日時...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
コントロールの存在確認
-
ユーザーフォームのラベルに時...
-
VBA(エクセル)のユーザー...
-
エクセルVBA フォーム上でOnkey...
おすすめ情報