Saya memiliki file vbs yang menarik informasi dari database saya dan mengekspor data ke file Excel (C: \ file.csv). Setelah ini selesai, saya menjalankan serangkaian macro (vba) untuk memformat data ini. Makro ini selalu sama, saya biasanya menyalin / menempelkannya dari file teks ke dalam spreadsheet dan kemudian menjalankannya secara manual.
Apakah ada cara saya bisa memasukkan vba makro ke file vbs jadi, setelah data diekspor ke spreadsheet, makro dijalankan? Solusi serupa menunjukkan cara memanggil makro yang telah ditentukan sebelumnya dalam file Excel, di mana saya ingin konten makro disimpan / dieksekusi di / dari file vbs saya. Ini akan sangat membantu karena vbs membuat file baru, kemudian akan menjalankan pemformatan makro.
Pikiranku adalah aku harus menggunakannya Set objWorkbook = objExcel.Workbooks.Open("C:\file.csv")
sumber
Jawaban:
Anda berada di jalur yang benar. Yang Anda butuhkan pertama-tama adalah mengatur variabel baru untuk Excel. Aplikasi menggunakan pengikatan akhir. Itu di bawah objek di mana semua barang VBA excel biasa bersembunyi. Di bawah ini adalah contoh skrip vbs yang akan membuka buku kerja baru, tambahkan lembar baru, beri nama "TEST", dan tambahkan beberapa konten ke dalam sel
A1
lembar baru itu. Setelah selesai, vbs akan menggema "Selesai"Anda mungkin harus sedikit berkutat dengan kode VBA yang ada untuk membuat vbs bahagia, tetapi Anda akan menemukan bahwa menulis makro Anda di vbs, sama fungsinya dengan menulisnya di vba.
sumber
Beberapa waktu lalu saya mencoba ini untuk beberapa jawaban SU lainnya . Satu-satunya cara yang saya temukan adalah menggunakan PowerShell alih-alih VBScript. PowerShell dapat menjalankan setiap perintah VBA. Hanya sintaks yang bisa berbeda.
Contoh VBA Anda sebagai skrip PowerShell
sumber
template
file. Bukankah itu mirip dengan macro.xls ?Saya akan menempatkan makro ke templat excel. Saya kemudian akan membuat makro autonew di templat untuk mengimpor file csv dan menjalankan makro format.
Kemudian saya akan mendapatkan vbs untuk membuat dan menyimpan file csv dan membuka file excel berdasarkan templat.
sumber