• 締切済み

VBScriptで自動リンクONでExcelファイルのOpen

お世話になっております。VBScriptでExcelの既存ブックファイル をオープンさせるのを見よう見真似で作成したのですが、開こうと しているブックに自動リンクが設定されていて、毎回 「開いているブックには、ほかのファイルへの自動リンク・・・・」 と聞かれ「Y」をクリックしています。 希望としてはYを自動で選択してオープンしてくれたらと思っています。 調べてみてUpdateLinkがTrueとか書けばいいように思っていろいろ 試してみたのですがイマイチうまく行きません。 すいませんが教えてもらえませんか? [Source]------------------------------------------------------- Option Explicit Dim objExcel 'エクセルオブジェクトを作成します Set objExcel = CreateObject("Excel.Application") 'エクセル画面を表示します objExcel.Visible = True 'ワークブックを開きます objExcel.Workbooks.Open "C:\Book1.xls" 'エクセルオブジェクトの破棄 Set objExcel = Nothing

みんなの回答

回答No.2

大雑把で力技ですがこんなのはどうでしょうか。 Option Explicit Dim wShell Set wShell=CreateObject("WScript.Shell") wShell.Run "C:\Book1.xls" Do While Not wShell.AppActivate("Book1.xls") WScript.Sleep 100 Loop WScript.Sleep 500 wShell.SendKeys "%y" Set wShell = Nothing 他にも色々とやりたいと思うのですが、おっしゃっている事はこれで出来ると思います。

回答No.1

http://tryasp.winscom.co.jp/document/vbscript/vbstoc.htm 参考になりますでしょうか?

関連するQ&A

  • エクセルVBAとVBScript

    WinXP/Pro  エクセル2002使用です。 VBScriptで下記のメール送信のプログラムを作り、 それをエクセルVBA→BATファイル→VBScript(→エクセルVBAに戻る)という流れで自動化させましたが、下記のコードでは、現在進行中のエクセルVBAとは別のブックを作るのでうまくいきません。 (エクセルブックを2重起動してしまいます) Set objExcel =GetObject( "d:\auto\aaa.xls") Dim stradrs Dim strkk Dim strjikan with objExcel stradrs = .Worksheets("Sheet1").Cells(5,1).Value strkk= .Worksheets("Sheet1").Cells(4,1).Value strjikan = .Worksheets("Sheet1").Cells(4,2).Value end with Set objEmail = CreateObject("CDO.Message") objEmail.From = "***@***.com" objEmail.To = stradrs objEmail.Subject = "表題" objEmail.Textbody = "内容" objEmail.AddAttachment("d:\auto\" & strkk & strjikan & ".doc") objEmail.Send Set objEmail = nothing Set objExcel = nothing 目的は、最初に立ち上げている(VBScriptを呼び出したVBAを実行中の)エクセルから値を取得したいのです。 下記いずれかの方法によると思っています。 (1)エクセルVBAから直接VBScriptに引数で値を渡すことは可能でしょうか? (2)VBScriptからエクセルブックを起動させずに値を取得することは可能でしょうか? 値はテキスト文字です。 何卒よろしくお願いします。

  • VBscriptでEXCELを起動

    今、非常に悩んでいる問題があります。 VBscriptでEXCELを起動したいのですがうまく行きません。 (Web画面であるボタンを押下すると、Webサーバ上のEXCELが開くというものです) プログラム的には (1) Dim excel Set excel = GetObject("", "Excel.Application") excel.Visible = True excel.Workbooks.Open "http://ホスト名/フォルダ名/ファイル名.xls" Set WK_excel = Nothing (2) Dim excel Set excel = CreateObject("Excel.Application") excel.Visible = True excel.Workbooks.Open "http://ホスト名/フォルダ名/ファイル名.xls" Set WK_excel = Nothing の二通り(他いろいろ)を試したのですが、何もおきずに終了します。 同じことをVB6.0でするとうまく行くのですが・・・ はっきり言うとVBscriptに関して知識がなく 質問内容も説明が分かりにくいかもしれませんが よろしくお願いいたします。

  • Excel 自動リンクの解除

    エクセル97を使ってます。 他の人が作成したファイルを開くと、 「開いているブックには、他のファイルへの自動リンクが 設定されています。 このブックを更新し、他のブックの変更を反映しますか?」 とのコメントが出てきます。 自動リンクの必要がないので、解除したいのですが 方法を教えて下さい。 また今後の参考として、自動リンクの設定の仕方も教えて下さい。

  • 開いてるファイル(エクセル等)をバッチかVBScript自動的に保存す

    開いてるファイル(エクセル等)をバッチかVBScript自動的に保存する方法は? 幾つかのアプリを終了させ、その際エクセルを終了するときに、 開いているエクセルファイルを全部自動的に保存させて終了させたいと思います。 バッチでは保存のコマンドは無いようで、VBSで終わらせ方は分かったのですが、その前の保存がわかりません。ちなみにBookのタイトルはそのときにより変わります。あと今回はエクセルのマクロはつかいたくないので、VBSで使えるのでお願いします。

  • HTML内に組み込んだVBScriptでExcelの値を取得したい

    ローカルドライブに C:\Book1.xls があります。 VBScriptで下記の記述をして、拡張子.vbsで保存し、そのファイルをダブルクリックすると、メッセージボックスにC:\Book1.xls のシート「管理」のセルA1の値を表示することができます。 Set objExcel = WScript.GetObject("C:\Book1.xls") WScript.Echo objExcel.Sheets("管理").Cells(1,1) これと同じようなことをHTML内に埋め込んだVBScriptでやりたいと考えています。 C:\Book1.xls のシート「管理」のセルA1に入力されている値を取得して、document.write を使って書き出したいと考えています。 出来れば、ネットワーク上のパスに置かれたExcelファイルに対しても同様のことをしたいと考えています。 サンプルコードなどをご教授願えないでしょうか?

  • ASPでExcelファイルを開く場合

    ASPでExcelファイルを開く場合WEBでいろいろ検索すると Set ObjExcel = Server.CreateObject("Excel.Application") ObjExcel.Workbooks.Open"****.xls" で開く方法が記載されていたので ためしているのいですが Set ObjExcel = Server.CreateObject("Excel.Application") でエラーが出てしまいます。 解決する方法はありますでしょうか。 環境:Windows XP,IIS,Office 2003 **************************************************** エラー タイプ Server オブジェクト, ASP 0178 (0x80070005) 許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。 *****************************************************

  • VBScript 先頭行の固定

    VBScript Script ファイル (.vbs)を書き出して、エクセル表の加工をしようとしています。 Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("~~~ ・ ・ ・ 先頭行を固定したく、下記のようにしましたがエラーになります。 objWorksheet.Range("A2").Select objWorksheet.ActiveWindow.FreezePanes = True また、データーのある最下行+2にデーターの合計を入れるように、追加コードを記述したいのですが、どのようにするのでしょうか?

  • VBでExcelファイルの編集

    VBでExcelファイルを作成しようとしていますが、罫線を引くとき、Rangeで範囲を指定しているんですが矩形でかかれず、一本線だけが書かれてしまいます。 どうしたら四角く矩形で罫線が書かれるか教えてください。 Set objExcel = CreateObject("Excel.Application") 'エクセルオブジェクト作成 objExcel.Visible = False 'エクセルを非表示で objExcel.Workbooks.Add '新規に作る With objExcel.Sheets("Sheet1").Range("a19:k29").Borders(1) .LineStyle = xlContinuous .Weight = 4 .ColorIndex = xlAutomatic End With

  • このVBSの修正点を教えてください。

    Dim objExcel 'Excelのオブジェクトを作成する Set objExcel = CreateObject("Excel.Application") 'Excelを見えない形で表示させる。 objExcel.Application.Visible = True 'Excelブック①のパスとシート名を選択 objExcel.Workbooks.Open("C:\Users\user\Desktop\1_作成\銀行借入調達返済\2307-2406銀行借入調達返済 (全社表示).xlsm ") objExcel.Worksheets(objExcel.Worksheets.Count).select '実行するマクロ名を指定。 objExcel.Application.Run "CopyWorksheets_And_Autofill" objExcel.Application.Run "CopyNewBook" Set objExcel = Nothing 保存はANSIで.vbsで保存しました。

  • EXCELの自動リンクの解除について

    EXCELで自動リンクが設定されているファイルを 開くと毎回『開いているブックには他のファイルへの自動リンクが設定されています。このブックを更新し、他のブックの変更を反映しますか』のメッセージが表示されます。もう自動リンクは必要ないので、リンク元とリンク先の名前を変更し登録し、リンクしていたセルも削除したのですが、ファイルを開くたびにこのメッセージが表示されます。メッセージが表示されないようにしたいのですが、 その方法を教えてください。

専門家に質問してみよう