VBEでA列にある10行のデータを任意に分解した場合、以下のようにしますよね。

これをJavaScriptでやるにはどうやったらよいですか?
また、VBEとJavaScriptのコードを対応させたようなリファレンスはどこかにありませんか?
Sub 文字列取得()
Dim i As Integer
Dim Data As String

For i = 1 To 10
Cells(i, ”B”) = Mid(Data, 1, 1)
Cells(i, ”C”) = Mid(Data, 2, 3)
Cells(i, ”D”) = Mid(Data, 5, 5)


End Sub

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/07 08:49:31
  • 終了:--

回答(3件)

id:ku__ra__ge No.1

ku__ra__ge回答回数118ベストアンサー獲得回数402005/07/07 09:10:31

ポイント20pt

紹介したページを見てもらえば判ると思いますが、基本的にはExcelのVBEでもJavaScriptでもExcelオブジェクトの使い方に差はありません。

ただし、ExcelのVBEから使う場合は、Excel.Applicationオブジェクトが最初から存在し、それを省略してプログラムを書くことが出来るので、Excelのマクロとして作られたものをそのまま使うことはできないと思います。

注意点としては、まずActiveXObject(”Excel.Application”)で、Excelオブジェクトを自分で宣言しなければならない点。

さらに、ExcelではActiveSheetとだけ書けばよかったものが、Application.ActiveSheetのようにApplicationを省略して書くことが出来なくなっている点があります。


リファレンスは、Excelのヘルプをそのまま利用して、省略しないようにプログラムを書くことを意識すれば、特に問題なくJavaScriptでExeclを扱えるようになるでしょう。

id:miyake_kazu No.2

miyake_kazu回答回数23ベストアンサー獲得回数02005/07/07 10:03:06

ポイント20pt

http://www.openspc2.org/reibun/javascript/koubun/031/index.html

�����������w���

id:akibare No.3

akibare回答回数157ベストアンサー獲得回数52005/07/07 10:29:15

ポイント20pt

まず、JavaScriptでExcelを操作したいということであればVBE=Visual Basic Editorからだとできません。WSHとかHTAからローカルファイルシステムにあるExcelファイルを、ExcelのActiveX Objectを使ってJavaScriptで操作することはできます。


この場合はURLにあるようにnew ActiveXObject(”Excel.Application”)でApplicationオブジェクトを取得し、任意のファイルを開いて操作します。例(test.js):


var ExcelApp = new ActiveXObject(”Excel.Application”);

var ExcelBk = ExcelApp.WorkBooks.Open(”C:¥¥hage.xls”);

var ExcelSh = ExcelBk.Worksheets(1);

ExcelSh.Cells(1,1)=”hoge”;

ExcelBk.Save();

ExcelBk.Close();

ExcelApp.Quit();

http://www.harding.edu/USER/fmccown/WWW/ScriptCompare.html

JavaScript and VBScript Code Comparison

ここにざっとVBとJSの操作の比較があります。文字列操作の対応表はないですけど。一応、VBのleftとかmidとかrightはJSではsubstrで対応します。


ExcelSh.Cells(1,1)=”hoge”.substr(2,3);

とか

ExcelSh.Cells(1,1)=Value.substr(5,5)

英語に問題なければMSDNのJavaScript互換JScriptのリファレンスが個人的には使いやすいです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません