CSVファイル形式でExcelマクロを実行する方法はありますか?
csvテンプレートを使用してファイルをCSVにエクスポートしていますが、CSV形式のテンプレートにマクロを書き込むことはできますか?XLS形式では使用できません。誰かがこれについて私を助けることができますか?
CSVファイル形式でExcelマクロを実行する方法はありますか?
csvテンプレートを使用してファイルをCSVにエクスポートしていますが、CSV形式のテンプレートにマクロを書き込むことはできますか?XLS形式では使用できません。誰かがこれについて私を助けることができますか?
マクロをファイル内に保存することはできませんが、次のいずれかを行うことができます。CSV
CSV
コントローラワークブックまたはアドインを使用してマクロを実行しますCSV
ファイルにコードを追加します(たとえば、イベントハンドラーを追加するため)あなたが何をする必要があるかについてより多くの情報を提供するならば、我々は上記の道を手伝うことができます。
(編集:CSVファイルがどのように生成されるかはまだ明確ではありません-これはExcel経由ですか、それとも別のアプリによって行われますか?]
ピアソンのアプリケーションイベントの例を使用すると、下部のコード(開いているExcelコントローラーワークブックから)を使用して、新しいCSV
ファイルの追加をキャプチャし、それをフォーマットできます。
その場でファイルの作成をキャッチする必要がある場合は、WMIでVBscriptをCSV
使用するなどのより複雑なアプローチが必要です。
Controller Workbook Approach
このワークブックモジュール
Private XLApp As CExcelEvents
Private Sub Workbook_Open()
Set XLApp = New CExcelEvents
End Sub
CExcelEventsと呼ばれるクラスモジュール
Private WithEvents App As Application
Private Sub App_NewWorkbook(ByVal Wb As Workbook)
If Wb.FileFormat = xlCSV Then
MsgBox Wb & " is a Csvfile"
'your code
End If
End Sub
Private Sub Class_Initialize()
Set App = Application
End Sub
セットアップ:Excel 2010
作成したマクロをパーソナルマクロブックに保存します。
詳細:
やりたいことを実現するには、まず、目的のマクロVBコードを含むXLSを作成する必要があります。次に、このXLSを常に利用可能な場所(つまり、HDまたは企業ネットワーク)に保存する必要があります。次に、マシンのExcel内にカスタムボタンを作成し、このボタンを起動するVBマクロモジュールにリンクする必要があります。つまり、Excelを手動で開くか、CSVを開くと、他のボタンと同じようにツールバーにカスタムボタンが表示されます。次に、CSVがExcelで開いているときに、カスタムボタンをクリックすると、保存されているXLSから、リンク先のマクロが起動されます。