Inilah satu pendekatan yang tidak menggunakan VBA. Ini mengasumsikan bahwa Anda menggunakan Windows Word (itu tidak akan berfungsi pada Mac Word) dan
- jumlah item yang Anda inginkan dalam dokumen Anda diperbaiki (mis. tidak
bervariasi secara acak)
- "Item Bank" Anda adalah lembar Excel tabular, mis. semua baris berisi
kolom yang sama, dan baris pertama berisi nama kolom.
- baik data untuk templat Anda hanya perlu berasal dari satu
baris yang dipilih secara acak, atau jika Anda membutuhkan data dari beberapa baris, itu
tidak masalah jika mereka terkadang baris yang sama.
Mari kita asumsikan buku kerja Excel Anda di c: \ xl \ rnd.xlsx dan datanya ada di Sheet1.
Panggil kolom pertama k, dan masukkan nomor baris di dalamnya, jadi sudah
k
1
2
3
...
Panggil kolom kedua r.
Di sel B2, masukkan formula berikut
=COUNT(A:A)
Dalam sel B3, B4 dll. Taruh formula berikut
=RANDBETWEEN(2,$B$2)
Jangan gunakan baris 2 (dengan k = 1) untuk data Anda.
Buat dan isi sebanyak mungkin kolom tambahan yang dibutuhkan (hingga 255 total). Jika Anda memiliki kolom dengan teks memo (panjang lebih dari 255 karakter), pastikan Anda memasukkan teks memo di baris 2. Itu harus memastikan bahwa Word akan mendapatkan teks lengkap dari setiap bidang memo nanti.
Di Word, untuk setiap item yang ingin Anda sisipkan, masukkan bidang bertumpuk berikut, menggunakan nama kolom dari item data yang ingin Anda masukkan alih-alih "kolom saya"
{ DATABASE \d "c:\\xl\\rnd.xlsx" \s "SELECT mycolumn FROM [Sheet1$] WHERE k = { DATABASE \d "c:\\xl\\rnd.xlsx" \s "SELECT r FROM [Sheet1$] WHERE k = 2" }" }
(pastikan Anda menggandakan garis miring terbalik pada nama path, dan memastikan bahwa kedua pasang {} adalah kurung kode bidang khusus yang bisa Anda sisipkan menggunakan ctrl-F9 pada Windows Word.
Jika Anda menginginkan lebih dari satu item dari baris Excel yang sama, gunakan baris indeks yang sama (mis. K = 2). Jika Anda ingin item dari catatan yang berbeda, gunakan indeks yang berbeda (mis. K = 3)).
Simpan template Anda.
Saat Anda ingin membuat tes baru (atau apa pun),
- Buka file Excel dan tambahkan semua data baru yang Anda butuhkan, lalu hitung ulang. Simpan file Excel tetapi jangan ditutup.
lembar. Itu harus memperbarui nilai-nilai RANDBETWEEN
- Buat salinan template Anda (jika itu biasa .docx / m, atau buka a
dokumen baru berdasarkan itu (jika itu adalah .dotx / m) dan simpan
- Pilih badan dokumen (ctrl-A) dan tekan F9 untuk memperbarui semua
bidang
- Dengan asumsi Anda puas dengan hasilnya, "perbaiki" dengan memilih
mendokumentasikan tubuh dan menekan ctrl-shift-F9.
- Simpan dokumen
Ada beberapa kelemahan dari pendekatan ini, termasuk
- Seperti disebutkan sebelumnya, jika Anda membutuhkan data yang berasal dari baris yang berbeda,
ini tidak akan menjamin bahwa mereka berbeda, karena r dapat memilikinya
nilai yang sama untuk beberapa nilai k. Saya kira jika Anda tidak punya banyak
data, Anda dapat mengulangi langkah (1) dan (3) hingga Anda memiliki
hasil yang memuaskan. Kalau tidak, akan perlu untuk memikirkan a
cara untuk menghindari mendapatkan duplikat baris, dan itu mungkin akan terjadi
melibatkan VBA, dalam hal ini Anda sebaiknya melakukan semuanya a
cara yang berbeda.
- Juga, hari ini, Word tidak membantu memasukkan tanda paragraf di
mulai dari setiap hasil bidang DATABASE. Ini dapat dihapus untuk
hasil numerik dan tanggal menggunakan saklar format angka / tanggal,
tetapi tidak untuk teks. Jika Anda harus menghapus tanda paragraf itu, Anda akan
butuh mekanisme yang andal menggunakan Find / Replace, atau (lagi) sedikit
dari VBA.
- Bidang DATABASE tidak berfungsi di tabel Word (dan mungkin lainnya
tempat). Jika Anda perlu meletakkan data di tempat-tempat itu, Anda harus melakukannya
gunakan bidang SET untuk mengatur bookmark ke suatu hasil, lalu gunakan bidang REF
di mana Anda menginginkan data.