CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

VBAをJavaScriptに変換するトランスパイラ

2023-03-21 14:41:07 | VBA

GitHub - ralic/Visual-Basic-for-Application-VBA-Excel-to-JavaScript: Reference : code.google.com/p/vb2js  [Visual Basic for Application][Excel] to [Javascript]

GitHub - ralic/Visual-Basic-for-Application-VBA-Excel-to-JavaScript: Reference : code.google.com/p/vb2js [Visual Basic for Application][Excel] to [Javascript]

Reference : code.google.com/p/vb2js [Visual Basic for Application][Excel] to [Javascript] - GitHub - ralic/Visual-Basic-for-Application-VBA-Excel-to-JavaScript:...

GitHub



VBAをVBSに変換するトランスパイラ

2023-03-21 14:31:09 | VBA
VBA(Visual Basic for Applications)からVBS(Visual Basic Script)にコードを変換することは可能ですが、完全に自動化することはできません。これは、VBAとVBSの文法や機能の違いがあるためです。

以下は、VBAからVBSに変換する際の一般的な手順です。

VBAコードをVBSに変換する前に、VBAコードの機能を理解しておく必要があります。VBAコードが何をしているかを把握しておくことが、VBSコードへの変換に役立ちます。

VBAコードをVBSに変換する前に、VBSの文法と機能を学びます。VBSは、VBAとは異なる文法と機能を持っているため、変換する前にVBSを学ぶことが重要です。

VBAコードをVBSに変換する際に、VBAコードを順番に読んで、VBSコードに変換します。VBAのコードを一行ずつ読み、その行をVBSに変換します。

変換したVBSコードを実行し、動作を確認します。変換後のコードが正常に動作することを確認することが重要です。

このプロセスは手作業で行う必要がありますが、オンラインでVBAからVBSに変換するツールもいくつかあります。ただし、自動変換ツールを使用する場合は、変換されたコードの品質に注意する必要があります。自動変換ツールは、文法の違いに対応できない場合があります。

申し訳ありませんが、私は個別の自動変換ツールを推奨することはできません。オンラインで利用可能な自動変換ツールはいくつかありますが、それらの品質や安全性については保証できません。自動変換ツールを使用する場合は、必ずバックアップを取り、変換後のコードを手動で確認することをお勧めします。また、自動変換ツールを使用する前に、VBSの文法と機能についての理解が必要です。

オンラインで利用可能な自動変換ツールには、以下のようなものがあります。

CodeVBA(https://www.codevba.com/) - VBAからVBSへの変換をサポートしています。無料版と有料版があります。

Convert VB to VBScript(https://www.dotnetspider.com/resources/31688-Convert-VB-VBScript.aspx) - VBScriptへの変換をサポートしています。無料で使用できます。

VB-VBA Code Converter(https://sourceforge.net/projects/vbvbacodeconverter/) - VBAからVBSへの変換をサポートしています。無料で使用できます。

ただし、これらの自動変換ツールは、完全に正確に変換できるわけではありません。一部の機能は変換できない場合があるため、変換後のコードの品質を手動で確認することが重要です。また、セキュリティ上のリスクもあるため、信頼できるサイトからのみ使用することをお勧めします。

ExelVBAでチャット形式で直線を描くプログラム

2023-03-21 09:46:39 | VBA
以下の手順のチャット形式で直線をエクセルのワークシートに描くVBAプログラムを作成してください。
始点の座標の入力を求め、次に終点の座標の入力を求める方式または、始点の座標の入力を求め、次に角度と直線の長さの入力を求める方式で、入力結果をワークシートに表示する。

以下は、始点と終点の座標を入力する方式で直線を描画するVBAプログラムの例です。

Sub DrawLine() Dim StartX As Integer Dim StartY As Integer Dim EndX As Integer Dim EndY As Integer ' 始点の座標の入力を求める StartX = InputBox("始点のX座標を入力してください") StartY = InputBox("始点のY座標を入力してください") ' 終点の座標の入力を求める EndX = InputBox("終点のX座標を入力してください") EndY = InputBox("終点のY座標を入力してください") ' 直線の描画 With ActiveSheet.Shapes.AddLine(StartX, StartY, EndX, EndY) .Line.Weight = 2 ' 線の太さを指定 End With End Sub

このプログラムを実行すると、始点と終点の座標を入力するダイアログボックスが表示されます。入力された座標を使って、指定された場所に線を描画します。

以下は、始点の座標と角度・長さを入力する方式で直線を描画するVBAプログラムの例です。

Sub DrawLineByAngleAndLength() Dim StartX As Integer Dim StartY As Integer Dim Angle As Double Dim Length As Double Dim EndX As Integer Dim EndY As Integer ' 始点の座標の入力を求める StartX = InputBox("始点のX座標を入力してください") StartY = InputBox("始点のY座標を入力してください") ' 角度と長さの入力を求める Angle = InputBox("角度を度数法で入力してください(0~360)") Length = InputBox("長さを入力してください") ' 終点の座標の計算 EndX = StartX + Length * Cos(Angle * 3.14159 / 180) EndY = StartY + Length * Sin(Angle * 3.14159 / 180) ' 直線の描画 With ActiveSheet.Shapes.AddLine(StartX, StartY, EndX, EndY) .Line.Weight = 2 ' 線の太さを指定 End With End Sub


このプログラムを実行すると、始点の座標と角度・長さを入力するダイアログボックスが表示されます。入力された情報を使って、指定された角度と長さに従って線を描画します。

上記に追加で次のプログラムの作成をしてください。 マクロのファイルを開くと、何をしますか?と訊いてきてツリー形式でメニューを表示し、「直線を描く」を選択した場合、「始点と終点の座標を入力する」方法と「始点の座標と角度と直線の長さを入力する」方法のどちらかを選ばせる。 次に選んだ方法で入力を求める。

以下は、マクロのファイルを開くとメニューを表示し、直線を描く際に始点と終点の座標を入力する方法と始点の座標と角度と直線の長さを入力する方法を選択するダイアログボックスを表示するVBAプログラムの例です。

Sub ShowMenu() Dim UserChoice As Integer ' メニューの表示 UserChoice = MsgBox("何をしますか?" & vbNewLine & vbNewLine & "1. 直線を描く", vbOKCancel) ' 直線を描くを選択した場合の処理 If UserChoice = vbOK Then ' 描画方法の選択 UserChoice = MsgBox("どのように描画しますか?" & vbNewLine & vbNewLine & "1. 始点と終点の座標を入力する" & vbNewLine & "2. 始点の座標と角度と直線の長さを入力する", vbOKCancel) ' 始点と終点の座標を入力する方法を選んだ場合の処理 If UserChoice = vbOK Then DrawLineByCoord ' 始点の座標と角度と直線の長さを入力する方法を選んだ場合の処理 ElseIf UserChoice = vbOK + 1 Then DrawLineByAngleAndLength End If End If End Sub

このプログラムを実行すると、最初にメニューが表示されます。メニューの1番目の選択肢である直線を描くを選択すると、次に描画方法の選択ダイアログボックスが表示されます。選んだ描画方法に応じて、始点と終点の座標を入力する方法または始点の座標と角度と直線の長さを入力する方法のダイアログボックスが表示されます。