![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(ソフトウェア) Googleフォーム、効率的な入れ方 2 2022/10/03 22:44
- Microsoft ASP グーグルフォーム 1 2022/12/30 18:16
- その他(プログラミング・Web制作) google formsで回答者をスプレッドシートに記載する方法 1 2023/06/23 11:22
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
モーダルフォームとモードレス...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
VBAでユーザーフォームを再表示...
-
エクセルVBAのフォームを最...
-
Form_Load と Form_Activate の...
-
フォームウィンドウを最前面に...
-
Hideについて(.NET)
-
複数モニタ使用時のフォームの...
-
エクセルのVBAでユーザーフォー...
-
accessのフォーム上でで画像を...
-
テキストボックス入力データの...
-
Microsoft Formsの「個人情報や...
-
'ユーザーフォーム右上隅の[×...
-
アクセスのUserFormにはInitial...
-
VB.NETでフォームロード中のエ...
-
ユーザーフォームのコピー?
-
MSGBOXのフォント大きさ変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
MSGBOXのフォント大きさ変更
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
コントロールの存在確認
-
ユーザーフォーム上に現在日時...
-
【VBAユーザーフォームで閉じる...
-
エクセルVBAのフォームを最...
-
ACCESSのフォーム、開くんです...
-
Microsoft Formsの「個人情報や...
-
VBA(エクセル)のユーザー...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
-
'ユーザーフォーム右上隅の[×...
-
Excelにて、ユーザーフォームで...
おすすめ情報