2

VBA は、Excel マクロが記述された言語です。Google スプレッドシートは、マクロ言語として Google アプリ スクリプトのみをサポートします。コードを書き直さずに VBA スクリプトを Google Apps Script スクリプトに直接または自動的に変換する方法はありますか?

これは、変換しようとしているサンプルの VBA スクリプトです。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngStart As Range, rngCrit As Range
    Set rngStart = Range("A3")
    Set rngCrit = Range("B1")
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not Intersect(Target, rngCrit) Is Nothing Then
        Range(rngStart, Cells(Rows.Count, rngStart.Column).End(xlUp)).ClearContents
        If Val(rngCrit) > 0 Then
            With rngStart.Resize(Val(rngCrit))
                .Value = "=ROW()-" & rngStart.Row - 1
                .Value = .Value
            End With
        End If
    End If
ExitPoint:
    Set rngStart = Nothing
    Set rngCrit = Nothing
    Application.EnableEvents = True
End Sub

私が試したこと:

コマンドの一部を同等の Google Script に置き換えてみました。私の問題は、私があまりにも直線的に考えていることです。私は VBA とまったく同じ方法でコーディングしようとしており、キーワードを VBA から Google Script のものに切り替えようとしています。私は直接的な方法があることを望んでいました。

4

3 に答える 3

1

このような「変換」の例はいくつかありますが、通常は再実装であり、変換ではありません。微妙な違いですが、重要です。ある言語から別の言語に翻訳することは可能ですが、本当の課題は、基礎となるオブジェクト モデルと、Excel/VBA と Google スプレッドシート/Apps Script/javascript で使用可能なメソッドとの違いにあります。

成功への最善のチャンスは、VBA Sub を一種の仕様として使用することです。VBA Sub によって実装されている機能を明確に説明できれば、Google スプレッドシートに実装された新しい機能の仕様の基礎ができたことになります。

于 2013-05-30T20:29:41.640 に答える