• 締切済み

ASPでエクセルのシートに代入したい

ASP(.NETではないです)にて、サーバー上にあるエクセルファイルをダウンロードして開くという処理はできたのですが、 開いたエクセルファイルの特定のセルに、値を代入したいのですが、可能でしょうか?

みんなの回答

  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.2

クライアントがExcelブックを開く時に、A1セルにhogehogeが表示されている状態で開きたいということであれば、サーバー側での処理で実際にExcelブックを書き換えてしまう以外思いつきません。 hogehogeの内容によっては、呼び出すExcelブックのWorkbook_Openイベントにコードを書いておくことにより可能かもしれません。 [単純な例] Private Sub Workbook_Open() If Sheets("Sheet1").Range("A1").Value = "" Then Sheets("Sheet1").Range("A1").Value = "hogehoge" End If End Sub

dyna4194
質問者

補足

ありがとうございます。 やはり、サーバーサイドからクライアントで開いているエクセルブックを操作することは無理っぽいですね^^; ブックの方でマクロを組んでみます。

すると、全ての回答が全文表示されます。
  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

運用がよくわからないのですが、どのパターンでしょうか(どれでも)ないのかも知れませんが)。 ================================== ・クライアントがブラウザのリンクをクリックすると、Excelが起動しサーバーのExcelブックを開き、ユーザーがExcelブックを編集しサーバーに保存する。 ↓ ExcelをWebページとして保存し、htmファイルを作成しASPから呼び出せるようにします。 クライアントはブラウザでこのページを表示し、[ファイル]メニューの[Microsoft Office Excelで編集]を選択しExcelで自由に編集して最後に保存します。 サーバーのhtmファイルはこの操作により書き換わります。 ================================== ・クライアントがブラウザのリンクをクリックすると、ブラウザ上にExcelで作成したページが表示され、値の入力などを行い計算などをさせる、ブックの保存の必要はない ↓ ExcelをWebページして保存し、このとき[対話機能を追加する]をチェックします。 ================================== ・クライアントがブラウザのリンクをクリックすると、サーバー側でExcelブックの特定のセルを更新する ↓ ASPでCreateObject("Excel.Application")により直接Excelブックの値を更新します(サーバー環境の調整が必要かもしれません)。

dyna4194
質問者

お礼

早速のご回答、ありがとうございます。 運用としては、ダウンロードしたエクセルファイルに任意の画像ファイルを貼り付ける必要(各ユーザーが手作業で貼り付け)があり、その後、ファイル名を変更して保存をします。ブックの保存は各ユーザーがクライアントで行うため、ASPで処理は不必要です。 また、エクセルをADOで操作する方法は、今後のことも考えると採用はしたくないと思っているため、該当ブックのA1セルに”hogehoge”を代入といったやり方ができれば嬉しく思っています。

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

関連するQ&A