- 締切済み
vba 初心者
Dim a As Integer Dim inbox As String Dim Localpath As Variant Dim c As Range, myFadd As String Dim flag As Variant Dim MyShell As Object Dim Mysh As String Dim newHour As Variant Dim newMinute As Variant Dim newSecond As Variant Dim waitTime As Variant Localpath = ThisWorkbook.Path a = 1 inbox = InputBox("番号") Do If inbox = Empty Then Exit Sub End If If inbox = Cells(a, 1) Then MsgBox ("あります") Exit Do Else a = a + 1 ElseIf Cells(a, 1) <> inbox Then MsgBox ("ない") End If Loop Set MyShell = CreateObject("WScript.Shell") MyShell.Run ("AcroRd32.exe /n") MyShell.Run ("AcroRd32.exe /p") & Localpath & "\" & Myfile & ".pdf" newHour = Hour(Now()) newMinute = Minute(Now()) newSecond = Second(Now()) + 10 waitTime = TimeSerial(newHour, newMinute, newSecond) Application.Wait waitTime Application.SendKeys "{Enter}", True '次の使用例は、10 秒を過ぎるとメッセージを表示します。 If Application.Wait(Now + TimeValue("0:00:10")) Then MsgBox "時間が過ぎました。" End If End Sub ExcelからPDFファイルを検索して印刷したいのですが、 見よう見まねで作ってみたもののエラーが出てしまってよく分かりません。 指摘できるところご指導よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mjsamiasan
- ベストアンサー率57% (55/95)
If inbox = Cells(a, 1) Then MsgBox ("あります") Exit Do Else a = a + 1 ElseIf Cells(a, 1) <> inbox Then←ここ MsgBox ("ない") End If このElseIfが怒られてますね。(当然なんですけど^^;) で、この部分って何がしたいんですか? 指摘したいのですが、やりたい事がさっぱりわかりません。。。 該当部分を削っても無限ループになるみたいだし。。。 (PS。このdo~loopをコメントアウトすれば正常に印刷されました。印刷部は正常のようです。)
- bin-chan
- ベストアンサー率33% (1403/4213)
> エラーが出てしまってよく分かりません。 どこ(何行目)で、どのようなエラーが発生するのか、を教えてください。
補足
Do If inbox = Empty Then Exit Sub End If If inbox = Cells(a, 1) Then MsgBox ("あります") Exit Do Else a = a + 1 ←ここの部分でデバックが出てしまいます。 ElseIf Cells(a, 1) <> inbox Then MsgBox ("ない") End If Loop Set MyShell = CreateObject("WScript.Shell") MyShell.Run ("AcroRd32.exe /n") MyShell.Run ("AcroRd32.exe /p") & Localpath & "\" & Myfile & ".pdf"←ここのファイルの指定場所がいまいち分かりません A列にあらかじめデータをいれといて、inputoboxでそのデータがあるか判断して、もしあったらPDFファイル(inputboxに入れたデータ名)を開き印刷し、もしなかった場合はinputobox(最初から)戻るってかたちにしたいのですが・・・ファイルの指定場所もいまいち分からなくて困ってます。すいませんがよろしくお願いします。
補足
A列にあらかじめデータをいれといて、inputoboxでそのデータがあるか判断して、もしあったらPDFファイル(inputboxに入れたデータ名)を開き印刷し、もしなかった場合はinputobox(最初から)戻るってかたちにしたいのですが・・・ 説明不足ですいません。よろしくお願いします。