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ランキング
-
ユーザーフォームのテキストボ...
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
Accessで、一つのフォーム画面...
-
VBAでユーザーフォームを再表示...
-
パソコンの画面に合わせてユー...
-
Microsoft Formsの「個人情報や...
-
モーダルフォームとモードレス...
-
テキストボックス入力データの...
-
VBAで画像を表示する方法
-
[ExcelVBA] Application.Dialog...
-
【VBAユーザーフォームで閉じる...
-
エクセルVBAのフォームを最...
-
クリックするたびに、フォーム...
-
現在開いている全てのフォーム...
-
フォームのテキストボックスな...
-
Hideについて(.NET)
-
タスクバーにフォーム名を表示...
-
Access フォームが前面に表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
ACCESSのフォーム、開くんです...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
【VBAユーザーフォームで閉じる...
-
ユーザーフォーム上に現在日時...
-
VBA(エクセル)のユーザー...
-
access2021 更新前に処理をしたい
-
Accessで、一つのフォーム画面...
-
コントロールの存在確認
-
Microsoft Formsの「個人情報や...
-
複数モニタ使用時のフォームの...
おすすめ情報