• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル タスクスケジューラ使用時の二重起動について)

エクセルのタスクスケジューラ使用時の二重起動について

B_Rabbitの回答

  • B_Rabbit
  • ベストアンサー率0% (0/4)
回答No.3

 タスクで実行するファイル名をexcel.exeにしているとエクセルが二重起動してしまいます。  DOSやWin3.1ぐらいからパソコンを使っている人ですと『実行ファイル[スイッチ]ファイル名』というコマンドラインを思い出してしまう為に起こる落とし穴です。私も同様なことで悩んだ覚えがあります。  実行するファイル名にAUTO_OPENマクロを入れているエクセルファイルを直接指定することでアプリケーションの二重起動は防止できます。  私の環境はWindows2000+EXCEL97ですが、この方法で二重起動せずに開くことができています。

heimdal
質問者

補足

タスクに登録する際は、作成したファイル名 日本語名+.xlsです。 特にスイッチを付加するようなことはしていないのですが・・・ もう少し詳しく教えて頂けますか? よろしくお願いします。

関連するQ&A

  • VBA 新規にエクセルを開き既存のファイルを開く

    VBAで新規にエクセルのアプリケーションを起動し、 その中に既存のファイルを起動する方法は有りますか? Sub Sample() Dim appExcel As Excel.Application Dim WSH As Variant Dim strPath As String Set appExcel = New Excel.Application Set WSH = CreateObject("Wscript.Shell") strPath = ActiveWorkbook.Path With appExcel .Visible = True .Workbooks.Add .ActiveWorkbook.SaveAs (strPath & "\ test.xls") End With Set WSH = Nothing End Sub このコードは、ネットから拾ったサンプルコードなのですが 新しいアプリケーションでエクセルを立ち上げることはできたのですが 新規のブックが開いてしまい、 更に、開きたいファイルに上書き保存してしまいそうです。 新規のブックが開く原因は .Workbooks.Addで、 上書き保存する原因は .ActiveWorkbook.SaveAs だとわかってるのですが、 この部分を同変更すればいいのかがわかりません。 Workbooks.Open?Filename:="C:\Users\test.xlsx" だと、現在実行しているvbaファイルを同じ枠内で 該当のファイルが開いてしまいます。

  • ExcelのVBAでブックの保存

    ExcelのVBAでブックを追加し保存を行っています。 その際、保存は、どこに行うのがよいのですか bookですか。sheetですか。 両方で、SaveAsができまが、使い分けがあるのでしょうか。 どのように使い分けするのでしょうか。 Workbooks.Add ActiveSheet.Name = "サンプル" ActiveSheet.SaveAs OutFileName ActiveWorkbook.SaveAs OutFileName ActiveWorkbook.Close

  • 新しく作成したBOOKを上書き保存

    いつも大変お世話になっております。 新規作成したBOOKを指定の場所に、指定の名前で保存しようとしています。 例)C:\ファイル名.xls 保存したいものの sFileName="C:\ファイル名.xls" WorkbookName="ファイル名.xls" ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる Workbooks(WorkbookName & "_" & sNowTime & ".xls").Close SaveChanges:=True 上記のように設定したところ、 既にファイルがある場合はウィンドウが表示されます。 その際、MsgBoxにフルパスで表示されてしまい、大変見づらく困っています。 また、新規作成したブックは必ず上書き保存で良いものになっています。 C:\ファイル名.xls というものが既にある場合は、 メッセージを出さず、上書き保存にしたいと思っています。 下記のように、既にブックがあるかも確認したのですが、 違い?が良く分からず、上手くいきませんでした。 '======================使わない上に、プログラムが間違っているためコメントアウトしてます。=========-- 'Dim buf As String ' buf = Dir(sFileName) 'ファイルの存在を調べる ' If buf <> "" Then ' '保存 ' ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる ' ' '=================ファイル作成完了 ' Else ' ActiveWorkbook.SaveAs Filename:=sFileName '保存して閉じる ' Workbooks(WorkbookName & "_" & sNowTime & ".xls").Close SaveChanges:=True ' End If '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 質問内容がぐちゃぐちゃしてきたので、まとめさせて頂きます。 ●新規ブックを指定場所に、指定名で保存したい ●指定場所に指定名のブックがあった場合、メッセージを出さずに上書き保存したい です、よろしくお願いいたします。

  • エクセル マクロで別のブックに貼り付けたい!

    作成したシートを別のブック(既存)にマクロを使って貼り付けたい のですが、いろいろ調べた結果以下のようにはすることができました。 ---------------------------------------------------------------- Sub SaveSheet() Dim sFileName As String 'ファイル名の設定 sFileName = "C:\a\test.xls" 'シートをコピーして新規ブックを作成 Sheets(Array("Sheet1", "Sheet2")).Copy '作成したブックの保存 ActiveWorkbook.SaveAs sFileName End Sub ---------------------------------------------------------------- これはとあるサイトで見つけたもので、私自身が作成したものでは ありません。 このマクロの問題は、 ○あらたにブック(シート)が作成されること (マクロ実行時は上書きになるので、変更できなくても使えないわけ ではない) ○元データはシート丸ごとであり、セル範囲を選択できない。 ○貼り付けるシートにおいても、任意の場所を起点とできない。 ということです。 整理しますと、『作成したシートの任意のセル範囲を、別に存在する ブックに、任意のセルを起点として貼り付けたい』 ということです。 どうかよろしくお願いします。m(_ _)m

  • excelファイルが意図せず起動

    下記を参考にして、起動時にタイマーを設定してexcelファイルを5分後に自動的に 保存・終了するようにしています。 http://okwave.jp/qa/q2911086.html しかし実際5分を待たず、手動でそのexcelファイルを終了した場合、 後でそのexcelファイルが自動で起動して、そのまま終了しているようです。 この症状をなくしたい場合どのように、記述を加えればよいか教えていただけないでしょうか? 記述は下記です。 '標準プロシージャ Public Operated As Boolean Sub SetTimer() Application.OnTime Now + TimeValue("00:05:00"), "CloseMe" End Sub Sub CloseMe() If Operated Then Operated = False SetTimer Exit Sub End If 'ブックの上書き保存 ActiveWorkbook.Save ' 保存確認を避けるため、保存済みにする ThisWorkbook.Saved = True ' 他にブックが開いていなければ、Excelを終了する If Workbooks.Count <= 1 Then Application.Quit ' 本ブックをClose ThisWorkbook.Close False End Sub 'ワークブックプロシージャ Private Sub Workbook_Open() Operated = False SetTimer End Sub Private Sub Workbook_BeforePrint(Cancel As Boolean) Operated = True End Sub Private Sub Workbook_Deactivate() Operated = True End Sub Private Sub Workbook_Activate() Operated = True End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Operated = True End Sub

  • クリップボードの内容をEXCELに貼付け

    クリップボード内容をエクセルのシートに貼り付けることをvbで行おうとしています。 1回目はできるのですが、2回目にはエラーが出てしまいます。(貼り付けるセルを指定したときに) 現状のコードを添付します。おかしなところがわかる方、教えて下さい。 '------------------------------------------------------- 'エクセルを起動させる '------------------------------------------------------- Public Sub ExcelProc() Dim xl2 As Excel.Application Dim xl2Book As Object Dim xl2Sheet As Object Dim ELSFileName As String 'エクセルの起動 Set xl2 = CreateObject("excel.application") xl2.Visible = True xl2.Workbooks.Open ("d:\test.xls") Set xl2Book = xl2.ActiveWorkbook Set xl2Sheet = xl2Book.Worksheets(1) 'D10にクリップボードの内容を貼り付ける xl2Sheet.Select Range("d10").Select ActiveSheet.Paste '保存するファイル名を作成 ELSFileName = "c:\test10.xls" '保存 ChDir "C:\" ActiveWorkbook.SaveAs FileName:=ELSFileName, FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Set xl2Sheet = Nothing xl2Book.Close True Set xl2Book = Nothing xl2.Quit Set xl2 = Nothing End Sub この関数を2度実行させたらエラーになります。 Range("d10").Select 'この箇所でエラーになる。 お願いします。

  • 複数起動してるエクセルを一括で保存して閉じたい

    使用しているのはエクセル2010です。 会社で使用しているソフトで右クリックメニューから エクセルで出力するという項目があり それを選択するとbook1、別のも出力するとbook2と 出力されていきます。 (上部に表示されている文字はbook1のみで拡張子はまだ付いていない?) タスクバー上にはそれぞれが独立して表示されていて エクセルを閉じようと右上の(チェック)ボタンを押しても book1ならbook1、book2ならbook2のみのエクセルが終了します (book1,2を出力して開いていたとしてbook1のエクセルを閉じてもbook2は閉じない) 毎回10個くらい一気に出力したあと、1つず保存して閉じているのですが これを簡単にできる方法は何かありませんでしょうか? 見よう見まねでマクロを下記マクロを作ってみましたが 思うように行かず Sub closeexcel() Workbooks("Book1").Close SaveChanges:=True Workbooks("Book2").Close SaveChanges:=True End Sub さらにUWSCというソフトを使ってみて マウスとキーボードの動きを記録してみましたが これも上手くいきませんでした・・・ もし何か良い案ありましたら ご教示いただけるよう よろしくお願いいたします・・・・・

  • VBA SaveAsでワークシートの指定する時

    以下は自動マクロで作成したものをちょっと変えたものです。 Sub Macro1() Sheets(1).Select Sheets(1).Copy ChDir "C:\" ActiveWorkbook.SaveAs Filename:="C:\Book2.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Windows("Book2.xlsx").Activate ActiveWindow.Close End Sub 内容: 一番左のシートのみBook2.xlsxに保存する 疑問点: シートをコピーした後、SaveAsコマンドで保存する際に「コピーしたシートのみ保存する」ような記述が見られないことです。SaveAs自体が、コピーされたシートのみ保存すること前提のメソッドなのでしょうか? ちなみに、Sheets(1).Copyを削除するとブック全体を保存します。

  • エクセル マクロの記述(フォルダーの移動、削除)

    現在開いているエクセルのファイルにマクロを記述し、 1 「処理済」というフォルダーに、開いているエクセルファイルを移動して、同じ名前でエクセルを保存する。 2 「CSV」というフォルダーに、開いているエクセルファイルをCSVファイルに変換して名前を「処理.csv」とし保存する。 3 現在開いているエクセルファイルは削除する。 以上の三つの処理をさせようと、以下のようにしましたが、1,2の処理は出来ましたが、3の開いているエクセルファイルが残ってしまいます。 以上三つの処理が一度に出来るマクロの記述を教えて下さい。 よろしくお願いします Sub マクロ() ActiveWorkbook.SaveAs Filename:="C:\処理済\" & ActiveWorkbook.Name ChDir"C:\CSV" ActiveWorkbook.SaveAs Filename:= "C:\CSV\処理.csv" _ , FileFormat:=xlCSV, CreateBackup:=False Application.DisplayAlerts = False If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close End If Application.DisplayAlerts = False End Sub

  • Excel VBA で困っています。

    Excel VBA で困っています。 下記のプログラムで、「名前を付けて保存」→「キャンセル」 を選択した場合のエラーは回避できたのですが、 「名前を付けて保存」→「保存」→「同じ名前のファイルが既に ありますが置き換えますか?」→「いいえ(またはキャンセル)」 の時にエラーが出てしまいます。 どう直したら良いでしょうか。 よろしくお願いいたします。 Public Sub SaveBook() Dim myBook As Variant '「名前を付けて保存」ダイアログ myBook = Application.GetSaveAsFilename("test.xls", _ "Excelファイル,*.xls", , "Excelブックを保存") 'キャンセル時の処理 If StrConv(myBook, vbUpperCase) = "FALSE" Then Exit Sub 'ブックの保存 ActiveWorkbook.SaveAs Filename:=myBook End Sub