• ベストアンサー

JAVAscriptでexcelを編集 表示

JAVAscriptでexcelを編集 表示 こんにちは JAVAスクリプトで既存のexcelのセルの色を変えて画面に出力したいのですが うまくいきません var xlApp = new ActiveXObject("Excel.Application"); xlApp.Visible = true; xlApp.Workbooks.Open("c:\\Book1.xls"); ExcelSheet.ActiveSheet.Cells(parseInt(document.getElementById('tate').value), parseInt(document.getElementById('yoko').value)).Interior.ColorIndex=1; よろしければご教授お願い致します

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ブラウザに表示したいのであれば、ファイルをオープンするだけでなく、必要なセルの値をそれぞれブラウザ上に表示してあげる必要があります。 いちいちやるのが面倒であれば、IE限定なんだから、データバインド機能を利用してやればエクセルのシートを表示可能です。 あるいは、エクセル側でhtml保存しておいてそれを表示すればそのまま表示することもできるけど・・・ (色を変えるだけなら、そこに色変えのスクルプトだけ追加してもいいし)

rainosu123
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

どうせIE限定ならVBScriptの方がやりやすいのでは?

rainosu123
質問者

お礼

やはりそうですか・・・ ご意見ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • php javascriptで既存excelを起動させ色つけ

    質問の場所が違ったら申し訳ありません 開発はphpで行っています IEで ボタンが押されたら指定したセルが染色された状態で既存のエクセルが画面に出力されるようにしたいのですが読み取り専用になってしまっているのか編集されていない状態で出力されてしまいます var xlApp = new ActiveXObject("Excel.Application"); xlApp.DisplayAlerts = false; xlApp.Visible = true; xlApp.Workbooks.Open("C:\\TEST.xls", 0, true); ExcelSheet.ActiveSheet.Cells(parseInt(document.getElementById('tate').value), parseInt(document.getElementById('yoko').value)).Interior.ColorIndex = 1; ExcelSheet = ""; ExcelQuit(Book1); わかりにくい質問で申し訳ありません もしお時間があればご回答おねがい致します

  • excelを上書き時の警告をなくすには

    <script language="JavaScript"> var xlApp = new ActiveXObject("Excel.Application"); var ExcelSheet; ExcelSheet = xlApp.Workbooks.Open("C:xxx"); ExcelSheet.ActiveSheet.Cells(parseInt(document.getElementById('tate').value),parseInt(document.getElementById('yoko').value)).Interior.ColorIndex = 3; ExcelSheet.SaveAs("C:Excel.xls"); //C:Excelは既に存在しています ExcelSheet.Application.Quit(); ExcelSheet = ""; </script> 色を付け編集したExcelを上書き保存する場合なのですが 確認のダイアログを出さずに保存を完了させる方法はございませんでしょうか? ExcelSheet.Application.DisplayAlerts = False こちらで試してみたところ保存されておりませんでした もしお時間がございましたらご回答いただきたく思います

  • JavascriptでのExcel起動について

    JavascriptでExcelを起動させてサーバー上のxlsファイルを編集したいのですが、読み取り専用になってしまいます。 ------------------------------------------------- Excel = new ActiveXObject("Excel.Application") Excel.Visible = true Excel.Workbooks.Open("http://localhost/test.xls") ------------------------------------------------- http://~で開くと読み取り専用になるのでしょうか? ちなみに、 1.xlsファイルは一般ユーザーも書き込み可能となっています。 2.readonlyパラメータをfalseにしても同様でした。 同様のケースで過去に解決された方、または良い案がある方。ご教授下さい。

  • javascriptでexcel閉じる

    javascriptで開いているexcelを閉じたいのですが、 その際、今の記述(下記)では、閉じる前に「保存しますか?」メッセージが表示されます メッセージを表示させずに、保存せず閉じたいのですが、方法はありますでしょうか? 教えてください、宜しくお願いします ====== ソース抜粋 ====== var strEX = "C:\test.xls"; var xlApp = new ActiveXObject('Excel.Application'); xlApp.Workbooks.Open(strEX, 0, true); -- 処理 -- (処理になんらかのエラーが発生した場合は保存せずにそのまま閉じたい) xlApp.Quit(); ========================

  • エクセルを表示できない

    プログラム初心者です。 Private Sub Command3_Click() On Error Resume Next Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet With xlApp.Application Set xlApp = GetObject("F:\vb6.0\book1.xls") Set xlBook = xlApp.Workbooks.Open("Book1") Set xlSheet = xlBook.Worksheets(1) xlApp.Application.Visible = True End Sub と入力したのですが、実行してボタンをクリックしてもエクセルの表が表示されません。なぜでしょうか?

  • VBでエクセルのバージョンを指定して開く

    PCにEXCEL2002と2013がインストールされています。 VBでエクセルを起動し、マクロを実行したいのですが、その際に起動するエクセルのバージョンを指定したいと考えています。 以下でやると標準設定のEXCELが開いてしまい、バージョンの指定ができません。 Dim xlApp As New Excel.Application() Dim xlBooks As Excel.Workbooks xlBooks = xlApp.Workbooks xlBooks.Open("C:\test.xls") xlApp.Visible = True xlApp.Run("test.xls!macro") なにか方法はありますでしょうか?

  • DataGridViewの内容をExcelに書き込みたいのですが

    お世話になります。現在VB2008にて、DataGridViewの内容をExcelに書き込むという仕様を作っているのですが、ExcelのCellにDataGridViewの値を書き込むという作業をループ処理で行いたいのですが、ソースの書き方がわからないんです。 まず私が書いたソースは、 Private Sub Excel() Dim xlapp As Excel.Applcation Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet 'Excelを開く xlApp = CreateObject("Excel.Application") xlApp.Visible = True xlApp.Workbooks.Add() xlBook = xlApp.ActiveSheet xlSheet = xlBook.ActiveSheet 'シートの編集 xlSheet.Cells(1, 1).Value = DataGridView1(0, 0).Value.ToString xlSheet.Cells(2, 1).Value = DataGridView1(0, 1).Value.ToString 'Excelファイル終了処理   xlBook.Close xlApp.Quit() xlSheet = Noting xlBook = Noting xlApp = Noting End Sub こちらになりますが、このソースの「'シートの編集」の部分をループ処理で行いたいのです。 DataGridViewで一行Excelに書き込んだら、ExcelのCellの位置も一行移動するという書き方がわからないんです。 どなたかご教授ください。よろしくお願いします。

  • javascriptの初心者です。

    初歩的質問で失礼します。 javascriptでフォームの中にテキスト欄が3つあり、 テキスト欄3に入力された数字が奇数なら赤、偶数なら青となるプログラムにしたいと思い、 下記のようにしまいしたが、elseの青文字にしかならずに悩んでいます。 本当に初心者ですいません。が、アドバイス頂けたら宜しくお願いいたします。            function men(){ tate=document.form1.text1.value; yoko=document.form1.text2.value; document.form1.text3.value=tate*yoko/2; if ((men%2)==0){ document.form1.text3.style.color="red"; }else { document.form1.text3.style.color="blue"; } }

  • JavaScript 複数のIDがある時の処理

    時々お世話になっております。今回はJavaScriptを始めたばかりでどうにもイメージが湧かずに質問させて頂きます。以下のサイトでformのselectを選択したら情報が表示されるものを作りたいと思い、イメージに近いソースを拝見しました。 https://memorva.jp/memo/html/javascript_onchange_select_menu.php ーーーー以下HTMLーーーー <form action="#" method="post" name="form"> <select name="kaizoudo" id="kaizoudo"> <option value="manual">手入力(以下のテキストボックス)</option> <option value="8k">8K(7680×4320)</option> <option value="4k">4K(3840×2160)</option> <option value="fhd">FHD(1920×1080)</option> <option value="hd">HD(1280×720)</option> </select> <br /> 画面の横のピクセル数<br /> <input type="text" value="" name="yoko" id="yoko"><br /> 画面の縦のピクセル数<br /> <input type="text" value="" name="tate" id="tate"><br /> </form> ーーーー以下JavaScriptーーーー <script> document.getElementById("kaizoudo").onchange = function(){ var kaizoudo = document.getElementById("kaizoudo"); var dw = ''; var dh = ''; switch(kaizoudo.value){ case 'manual': dw = ''; dh = ''; break; case '8k': dw = 7680; dh = 4320; break; case '4k': dw = 3840; dh = 2160; break; case 'fhd': dw = 1920; dh = 1080; break; case 'hd': dw = 1280; dh = 720; break; } document.getElementById("yoko").value = dw; document.getElementById("tate").value = dh; }; </script> ーーーーここまでーーーー 問題はこれを複数のselectを選択できるようにしたいのですが、どのように設定すれば良いのかイメージが湧きません。。。 <イメージ> 商品1 選択肢 選択した情報(yoko) 選択した情報(tate) 商品2 選択肢 選択した情報(yoko) 選択した情報(tate) 商品3 選択肢 選択した情報(yoko) 選択した情報(tate) ・ ・ ・ 【送信】 ※選択肢は全て同じです 当然IDはユニークなためid="kaizoudo"を繰り返し使う訳にはいかないので、kaizodo1,kaizodo2のように固有のIDを作りselectを設置するようになると思いますが、JavaScriptをIDごとに書くには字数が多くなりますし、選択肢はこれよりもっと多くなることを想定しておりますので、できればWhileやforで反復処理できないかと考えております。 (PHPなら少々分かるのですが、JavaScriptはまだ勉強しておらず) 上記内容にてヒントを頂ける方がいらっしゃいましたら、よろしくお願い致します。

  • Excel.Applicationへのシートコピー

    Public xlApp As Excel.Application Public xlBook As Excel.Workbook Set xlApp = CreateObject("Excel.Application") '非表示・画面更新無・アラート非表示 xlApp.Visible = False xlApp.ScreenUpdating = False xlApp.DisplayAlerts = False Set xlBook = xlApp.Workbooks.Add xlBook.SaveAs "test123.xls" '※ここでエラー Workbooks("TEST.xls").Sheets("TEST_1").Copy After:=xlApp.Workbooks(xlBook).Sheets(3) Set xlApp = Nothing Set xlBook = Nothing 環境:WindowXP SP2,Excel2003 SP3 以上のようにオブジェクト変数のEXCELに対してのシートコピーを行いたいのですが、コンパイルを行うとエラーがなく、実行すると「コンパイルエラー 修正候補:区切り記号 または(」とエラーが発生します。色々書き方を試してみたのですが、どれもうまくいきませんでした。 宜しくお願いします。