WebBrowserで開いたEXCELファイルへのデータ更新について

このQ&Aのポイント
  • VB2005で開発されたフォームのデータをWebBrowser上に表示されたEXCELファイルに転記し、編集後に保存する方法がわからない。
  • WebBrowserコントロール上でEXCELファイルを開いているが、セルにデータを書き込んだり操作したりする方法がわからない。
  • 既に開発したデータ転記機能ではなく、WebBrowserに表示しながらデータを編集し保存する方法について教えてください。
回答を見る
  • ベストアンサー

WebBrowserで開いたEXCELファイルへのデータ更新について

WebBrowserで開いたEXCELファイルへのデータ更新について VB2005で開発を行っております。 WebBrowserコントロール上に既存のEXCELファイルを表示させる事はできたのですが この今開いているEXCELファイルに対して、セルにデータを書き込んだりする方法が わからなくて困っております。 要件としては、VB2005のフォームで表示されてるデータをEXCELに転記し、 ユーザーがWebBrowserに表示されたEXCELに対して操作を行った後に 保存する必要があります。 単にEXCELファイルを読み込み、データを転記して保存するだけなら すでに開発済みなのですが、WebBrowserに表示しながら編集したい用件が出てきて困っております。 よろしくお願いします。

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

WebBrowser1.ActiveXInstance.Document 経由でExcelオートメーションが触れます http://bbs.wankuma.com/index.cgi?mode=al2&namber=27215&KLOG=50

darlinr
質問者

お礼

今回の開発では遅延バインディングが使えなかったので以下の方法で実現できました。 大きなヒントを頂き、ありがとうございました! Sub test1() Dim oExcel As Excel.Application = Nothing Dim oBook As Excel.Workbook = Nothing Dim oSheet As Excel.Worksheet = Nothing Try oExcel = CType(GetObject(Class:="Excel.Application"), Excel.Application) oBook = oExcel.Workbooks(1) oSheet = CType(oBook.Sheets(1), Excel.Worksheet) oSheet.Range("A1").Value = "CHANGED" oBook.Save() Finally If Not oSheet Is Nothing Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet) End If End Try End Sub

その他の回答 (1)

回答No.1

>WebBrowserコントロール上に既存のEXCELファイルを表示 この部分がどのように行われているかが非常に気になります。 できている部分の抜粋だけでもコードを公開できませんか? 特に現在の文章では、単にローカルパスのファイルを埋め込み表示しているのか、またはダウンロードされた一時ファイル領域上に保存されているファイルを編集されているかが、わからないからです。

関連するQ&A

  • VB.NET WebBrowserの動作

    こんにちは。 VB.NET Framework2.0でユーザフォーム開発しています。 Excel2010をインストール済みの環境で、WebBrowserからxls形式のExcelファイルを読み込むと、Excelの内容が表示されません。Excel2003をインストールした環境では、正しくWebBrowserにExcelの内容が表示されます。 解決の方法をご存知の方がいらっしゃいましたら、教えてください。

  • WebBrowserにHTMLテキストを読み込ませる。

    お世話になります。 VBには、WebBrowserコントロールというものがありますが、これで次のようなことは出来ないのでしょうか。 それは、まず、リッチテキストボックス(もしくは普通のテキストボックス)に、 HTMLを書いていきます。 そして、ボタンを押すとWebBrowserが乗ったフォームが出てきて、テキストを読み込んでそれをHTMLファイルとして表示させる。 というものです。 色々試してみましたが、上手くいきません。 一旦どこかに一時的にファイルを保存させてそれを読み込ませる……というのも考えたのですが、直接テキストから読めればコードが単純になるので、もし出来るのなら直接読ませたいのです。 どなたか方法を知っていたら、ぜひお教えください。お願いします。 --------- 開発環境 VB6.0SP5 WinME

  • WebBrowserコントロールを継承するには

    VB.NETで既存のWebBrpwserコントロールを継承して 独自のコントロールを作成せいしたいのですが上手くいきません。 以下、私が実践した手順です。 1.プロジェクトにクラスを追加   →クラス名:CBrowser 2.CBrowserにWebBrowserを継承   →Inherits WebBrowserを記述 3.フォームに既存のWebBrowserを配置 4.Designer.vbを編集   →2箇所のSystem.Windows.Forms.WebBrowserをCBrowserに置き換え このやり方だと、稀にフォームデザイナーがエラーを出してしまいます。 よろしくお願いします。

  • .NetのWebBrowserについて

    【環境】 WindowsXp VisualStudio2005 Excel2003 VB.netでWebBrowserを使ってフォームにExcelを表示するアプリがあります。 ある日突然特定の端末でExcelがそのアプリで表示できなくなりました。 ・現在分かっていること (1)他の端末は問題なく使えています。 (2)アプリは修正・等は一切していません(昔に作ったまま) (3)Wordなどは表示できてます (4)Excelのマクロの有無は関係ないと思います(あるものでもないものでも発生しました) (5)Excelを開く際にダイアログが出て開くか保存するか?を聞いてくるので、   ファイルパス間違いとかそういった問題ではありません。 特定端末(1台)だけなので、 その端末の設定的なものだろうと思うのですが、 その端末を使っている人も特になにか変えたつもりがないということで、 原因が分かっておりません。 ソースは、抜粋ですが、 フォームに張り付けたWebBrowserコンポーネントのNavigateに 引数でExcelファイルを指定しているだけのシンプルなものです。 ------------------------------------ Me.WebBrowser1.Navigate(strFileName) ------------------------------------ どなたか、なにか原因について心当たりがある方いらっしゃいましたら、 ご教授ください。

  • WebBrowserコントロールでExplorerのようなものを作りたいのですが困っています

    VB.NET2008にて、開発中です。 WebBrowserコントロールを使用してExplorerを作っているのですが、たとえば WebBrowser1.Navigate("C:\Users\" + Environment.UserName + "\Desktop") とすることによってコントロール上にデスクトップにあるファイルが表示されますよね? そこで、表示されたファイルのうち1つをを選択し、そのファイル(もしくはディレクトリ)のフルネームを取得したいのですが、どうもやり方がわかりません。 どなたかこの方法を知っている方、いらっしゃいませんでしょうか?

  • WebBrowserがロードできない(VB6)

    VB新人です。 VB6でシステムを開発してます、 VBを起動したところ以下のようなメッセージが表示します。 何かOCXなどを参照していないのでしょうか? どうすればエラーが無くなるのでしょうか? 突然出て、悩んでいます。 クラス SHDocVwCtl.WebBrowser(コントロール www) はロードされていません。 よろしくお願いします。

  • WebBrowser

    言語はVB2010です。 WebBrowser1に表示しているページのタイトルをフォームのタイトルバーに表示して、リアルタイムでタイトルが変わるようにしたいです。

  • WebBrowserでOfficeファイル等を表示する事ができません・・・

    VB.net2008Expressを使用しています。 タイトルの通り、ExcelやWord、PDFファイル等をWebBrowserで表示したいと考えているのですが、行き詰りましたので質問させていただきます。 AxWebBrowser1.Navigate("c:\a.xlsx") このように記述し、c:\a.xlsxをAxWebBrowser1に表示させようと考えているのですが、「ファイルのダウンロード」ウィンドウが開いてしまい、表示ができません。 また、このウィンドウの「開く」ボタンを押しても、別枠でExcelが開き、肝心のAxWebBrowser1は"Webページへのナビゲーションは取り消されました"と表示されるだけでした。 また、AxWebBrowserコントロールではなく、WebBrowserコントロールで WebBrowser1.Url=New Uri("c:\a.xlsx") と試してみても結果は同じでした。 いろいろと調べてみても、これで表示されるはずなのですが、ダウンロードのウィンドウが邪魔して開いてくれません。 どのようなことが原因で表示がうまくいかないのでしょうか? また、解決策はあるのでしょうか・・? どうか皆さんの力をお借りしたいと思います。 よろしくお願いします

  • c# webBrowser 内のpdfファイルについて

    Visual Studio 2005 C# + iTextSharp で、Windowsフォームを開発しています。 Form1 内の webBrowser 上に、複数ページが存在するpdfファイルを表示しています。 今、pdfファイルの何ページ目がwebBrowserに表示されているかを取得する方法はありますのでしょうか?

  • VB2005のWebBrowserコントロールでヤフーにログインする方法を教えてください。

    当方、VB2005で開発をしております。 WebBrowserコントロールを使い、ヤフーにログオンし、 逐一、WebBrowserに内容を表示するプログラムを作りたいのですが、 やり方が分かりません。 テキストボックスを2つ用意し、一つにYahooID、 もう一つにパスワードを入れて、コマンドボタンを押すと、 WebBrowserコントロールにログオン出来たヤフー画面が表示されるように したいです。 どなたかご教授願いますm(__)m

専門家に質問してみよう