ソフト起動ボタンをクリックするとエラーが発生し、解決方法は?

このQ&Aのポイント
  • Windows7 Excel2007でマクロ作成中の初心者が、フォームにボタンを付けて会計ソフトを起動させる際にエラーが発生します。お手上げの状態ではありませんか?解決方法をご紹介します。
  • VBAを使用して会計ソフトを起動させようとしている際に、「実行時エラー5 プロシージャの呼び出しまたは引数が不正です。」のエラーが発生します。このエラーを回避するための変更方法について解説します。
  • ソフト起動用のボタンをクリックすると、黄色になった行で「実行時エラー5 プロシージャの呼び出しまたは引数が不正です。」というエラーが発生します。このエラーを解消するための修正方法をご紹介します。
回答を見る
  • ベストアンサー

ソフト起動用のコマンドボタンをクリックするとエラーがでる

Windows7 Excel2007でマクロ作成中の初心者です。 フォームにボタンを付け会計ソフトが起動しています。 Private Sub 会計ソフト起動ボタン_Click() Unload Me 会計ソフト End Sub --------------------------------------- Sub 会計ソフト() Dim ReturnValue ReturnValue = Shell("C:\Program Files\Yayoi\Kaikei5\System\Kaikei5.exe", 1) AppActivate ReturnValue'----エラー発生し黄色になる行 Call 拡大 'Range("H14").Select End Sub ------------------------------------------------- Sub 拡大() Application.WindowState = xlMaximized End Sub 以上のコードで立ち上げると「実行時エラー5 プロシージャの呼び出し または引数が不正です。」のエラーが出ないようにするにはどう変更したらよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

Kaikei5.exeの準備がまだ出来てないのでしょう、 AppActivateの前に、Waitなど挿入してみたらどうでしょうか。 ReturnValue = Shell("C:\Program Files\Yayoi\Kaikei5\System\Kaikei5.exe", 1)   Application.Wait (Now + TimeValue("0:00:05"))  '●5秒待機  AppActivate ReturnValue 以上です。

aitaine
質問者

お礼

ありがとうございました 勘違いでした  できました

aitaine
質問者

補足

ご回答ありがとございます。いまご指摘の通りやりましたが、依然とあのエラーが発生します。なんででしょうか?

関連するQ&A

  • コマンドボタンを2回目クリックでエラー発生する

    windows7 Excel2007でマクロ作成の初心者です。以下の点で困ってます。ご指導お願いします。 次のコマンドボタンを実行すると、最初のクリックでは実行できるのに 同じボタンを再度クリックするとエラーがでます。 エラーが出ないようにするにはどうしたらよろしいでしょうか。 ちなみに、ブックはA、B、Cの3個です。 Private Sub CommandButton8_Click() ActiveWorkbook.Close SaveChanges:=True On Error Resume Next Workbooks(2).Activate 'Bブックをアクティブに Resume Next Unload Me 評価.Show  End Sub

  • 8つのコマンドボタン上にそれぞれマウスカーソルを置くと、userfor

    8つのコマンドボタン上にそれぞれマウスカーソルを置くと、userform1~8(図)が表示されるようにしております。 そして、Label上にマウスカーソルを置くと、表示中のuserformが消えるようになっております。 しかし、たまにですが、 > エラー番号:50290 > "アプリケーション定義またはオブジェクト定義のエラーです。" が表示されてしまい。 下記マクロのunload userform1でとまってしまいます。 なぜなのでしょうか。 Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Unload userform1 Unload userform2 Unload userform3 Unload userform4 Unload userform5 Unload userform6 Unload userform7 Unload userform8 End Sub

  • コマンドボタンをクリックするとGmailが起動するようにしたい

    Windows7 Excel2007でマクロ作成中の初心者です。 コマンドボタンをクリックすると、Gメールを起動出来るようにしたいです。 以下の通りやるとWindows live mail が起動してしまいます。どうしたらよろしいでしょうか? Private Sub 常時使ってるGメールを起動する_Click() ThisWorkbook.FollowHyperlink Address:="mailto:*****@gmail.com" End Sub

  • VBAで全画面/数式バーが出ない?

    エクセル2013です。 以下のVBAでFullscreenにすると、なぜか数式バーがでません。 これまでのエクセル2010では、このコードでちゃんと出ていました。 エクセル2013でも全画面表示で数式バーを出すためにはどうしたらよいのでしょうか? Sub FullSize() ActiveWindow.WindowState = xlMaximized With Application .WindowState = xlMaximized .DisplayFullScreen = True .DisplayFormulaBar = True '2013では数式バーが出ない! End With End Sub

  • access アプリケーションの最大化をしたい

    Ofiice2007を使っています。 エクセルなら Sub test() Application.WindowState = xlMaximized End Sub で最大化できますが、アクセスで同じコードを実行するとエラーになります。 Application.WindowState = acMaximized にしてもダメでした。 オブジェクトブラウザで検索したところ WindowStateもacMaximizedもアクセスにはないようです。 ヘルプでWindowStateを検索したところ、 WindowState プロパティと言うのを見つけました。 内容は、 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ウィンドウの表示状態を指定する数値を設定します。値の取得も可能です。 設定値 WindowState プロパティの設定値は、次のとおりです。 定数           値                  内容 vbext_ws_Normal    0   (既定値)      ノーマル vbext_ws_Min      1     最小化       (タスクバーに縮小表示) vbext_ws_Max      2    最大化       (画面全体に拡大表示) ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ とのことですが、どうやって使えば良いでしょう? Sub test() Application.WindowState = vbext_ws_Max End Sub だとダメでした。 ご教授よろしくお願いします。

  • コマンドボタンの表示が

    エクセルでコマンドボタンにより印刷プレビューを表示して,閉じるを クリック後,他のコマンドボタンの表示がおかしくなります。 (コマンドボタンが拡大しています) 原因と解決方法を教えてくださると嬉しいです。 Private Sub CommandButton2_Click() ActiveWindow.SelectedSheets.PrintPreview End Sub

  • コマンドボタンでマクロを起動するとエラーになる

    以下のようなコードをツールバーのマクロから起動するようにするとできるのですがコマンドボタンから起動するようにするとエラーになります。なぜでしょうか? Private Sub CommandButton1_Click() Application.ScreenUpdating = False Workbooks.Open "C:\My Documents\b.xls" Windows("b.xls").Activate Columns("A:C").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Workbooks("a.xls").Sheets("Sheet2").Range"A1:A3"), CopyToRange:=Columns("E:G"), Unique:=True ~ここでエラー'1004'~ Windows("a.xls").Activate Workbooks("C:\My Documents\b.xls").Close Application.ScreenUpdating = True End Sub

  • Button1をクリックしてエクセルファイルを開きたい

    VB2008のを使用しています。 Button1をクリックして「C:\test.xls」を開きたい場合 どのようなコードを書けばいいのでしょうか? ヘルプを見て Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Public Event Open As WorkbookEvents_OpenEventHandler ThisWorkbook_Open() Handles Me.Open Me.Application.WindowState = Excel.XlWindowState.xlMaximized End Sub End Class としてみましたがエラーになりました。 ご教授よろしくお願いします。

  • EXCELシート上のリンクをクリックすると最小化してしまう

    お世話になります。 早速ですが、質問です。 EXCELのシート上にハイパーリンクを作成し、そのリンクをクリックす ると、IEにてページが表示されるのとほぼ同時にEXCELが最小化して しまいます。 これを抑止したいと、過去の質問から http://oshiete1.goo.ne.jp/qa4942669.html を参照し、 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Application.WindowState = xlNormal AppActivate Application.Caption End Sub というマクロを入れてみたのですが、やはり最小化されてしまいました。 どうもリンクをクリックした際に、IEにページを表示する前に、上記の処 理が実行されてしまっているように見受けられます。 それならば最小化されてしまうタイミングで対処しようと Private Sub Workbook_Deactivate() Application.WindowState = xlNormal AppActivate Application.Caption End Sub というコードも追加してみたのですが、こちらはイベントが発生せず、実行 されませんでした。 この事象は回避不可能なのでしょうか? 何かよい方法がありましたらご教授いただければ幸いです。 ちなみに環境はWindowsXP+EXCEL2000+IE8です。 以上、よろしくお願いします。

  • ボタンをクリックするとエラーになる

    Excelマクロ初心者です。 Excelマクロにて下記のコードを実行してみました。 ツールバーは出たのですがツールバーのボタンをクリックすると、 エラーメッセージが出てしまいます。 例 更新ボタンをクリック マクロ 'xxx.xls!BTN_TOUROKU'が見つかりません と出てしまいます。 OnActionが旨く動きません。どうして動かないのでしょうか? --------------------------------------------------------------- Option Explicit Private Const g_cnsTITLE = "更新ツールバー" ' 立ち上げ時自動実行処理 Sub Workbook_Open() Dim xlAPP As Application Dim objBar As CommandBar Dim objCont As CommandBarControl Dim objBtn As CommandBarButton Dim vntCaption As Variant Dim vntTipText As Variant Dim vntOnAction As Variant Dim IX As Integer Dim blnTRUE As Boolean Set xlAPP = Application ' ボタンのタイトルを設定 vntCaption = Array("登録(&A)", "更新(&U)", "削除(&X)") ' (1) ' ボタンにマウスを当てた時に表示されるテキストを設定 vntTipText = Array("登録を行ないます", "更新を行ないます", "削除を行ないます") ' ボタンの動作マクロを指定 vntOnAction = Array("BTN_TOUROKU", "BTN_KOUSHIN", "BTN_SAKUJO") ' ツールバーを追加する ' (2) Set objBar = xlAPP.CommandBars.Add(Name:=g_cnsTITLE, Position:=msoBarTop) ' 1番目はボタンの境界をなしにする blnTRUE = False ' ボタンを3つ追加する For IX = 0 To 2 ' まずボタンを指定してコントロールを追加 Set objCont = objBar.Controls.Add(Type:=msoControlButton) ' (3) ' ボタンの境界を設定 objCont.BeginGroup = blnTRUE ' (4) ' CommandBarButtonオブジェクトを取得 Set objBtn = objCont ' (5) objBtn.Style = msoButtonCaption ' ボタン名を表示 ' (6) objBtn.Caption = vntCaption(IX) ' 表示名を設定 objBtn.TooltipText = vntTipText(IX) ' マウスを当てた時のツールチップテキスト 'objBtn.OnAction = vntOnAction(IX) ' 動作マクロを設定 objBtn.OnAction = vntOnAction(IX) ' 2番目以降はボタンの境界を設定 blnTRUE = True Next IX ' ツールバーを表示する objBar.Visible = True ' ツールバーを表示 ' ツールバーを非表示にできなくする objBar.Protection = msoBarNoChangeVisible ' ツールバーをマウスで引き出したり右クリックした時に「閉じる」の操作ができないようにする ActiveWindow.ScrollRow = 1 ' オブジェクトを廃棄 Set objBtn = Nothing Set objCont = Nothing Set objBar = Nothing End Sub ' 閉じる時の自動実行処理 Sub Workbook_BeforeClose(Cancel As Boolean) Dim xlAPP As Application Dim objBar As CommandBar Set xlAPP = Application ' ツールバーオブジェクトを取得する Set objBar = xlAPP.CommandBars(g_cnsTITLE) ' ツールバーを削除する objBar.Delete ' オブジェクトを廃棄 Set objBar = Nothing End Sub ' 「登録」ボタンがクリックされた時の処理 Sub BTN_TOUROKU() MsgBox "「登録」が押されました" End Sub ' 「更新」ボタンがクリックされた時の処理 Sub BTN_KOUSHIN() MsgBox "「更新」が押されました" End Sub ' 「削除」ボタンがクリックされた時の処理 Sub BTN_SAKUJO() MsgBox "「削除」が押されました" End Sub ---------------------------------------------------------------

専門家に質問してみよう