bertanya:
Halo, ahli skrip! Bagaimana cara menentukan teks mana yang dipilih dalam HTA?
--MELAKUKAN
menjawab:
Halo lakukan. Anda tahu, kebanyakan orang berpikir bahwa menulis "halo, ahli skrip!" Kolom setiap hari adalah salah satu pekerjaan paling menarik dan menarik di dunia. Mungkin jika para ahli skrip yang menulis kolom ini tidak begitu malas. Misalnya, berkali -kali ia memilih masalah yang menurutnya dapat ditulis ke dalam naskah. Biasanya dia tidak memiliki skrip yang dapat menyelesaikan tugas yang disebutkan dalam pertanyaan, tetapi dia tahu bahwa skrip seperti itu dapat ditulis. Ini adalah metode yang terbukti, tetapi tidak terlalu menarik.
Namun, pertanyaan ini sedikit berbeda. Bagaimana Anda bisa menentukan teks mana yang dipilih di HTA? Sayangnya, kami tidak dapat mengetahui apakah Anda dapat menentukan teks mana yang Anda pilih di HTA. Namun, ternyata Anda bisa yakin:
<Html>
<head>
<title> htatest </title>
</head>
<ScriptLanguage = "vbscript">
Subseleksi
Setobjselection = document.selection.createrange ()
Msgboxobjselection.text
Endsub
</script>
<body>
<textareaname = "scriptarea" baris = 5cols = 40> </textarea> <p>
<inputId = runbuttontype = "tombol" value = "showSelection" onclick = "showselection">
</body>
Kami menggunakan HTA kecil dan sederhana di sini, yang terlihat seperti ini:
Apa? Bagaimana Anda tidak memiliki kesan? Jadi, cobalah. Ketik beberapa teks di area teks ini dan sorot sebagian teks:
Sekarang klik tombol Pilihan Tampilkan Tombol Berlabel. Untungnya, Anda akan melihat kotak pesan yang memberi tahu Anda teks mana yang telah dipilih:
Anda benar: seperti itulah rasanya.
Jadi, bagaimana semua ini dilakukan? Kami pertama -tama membuat HTA dengan area teks dan tombol. Kami tidak membahas detail membuat HTA itu sendiri, jika Anda memerlukan beberapa informasi latar belakang, periksa Webcast HTA Developers atau Webcast Week 3 pada HTA. Hari ini kami hanya akan fokus pada subrutin yang Anda jalankan saat Anda mengklik tombol ini:
Subseleksi
Setobjselection = document.selection.createrange ()
Msgboxobjselection.text
Endsub
Itu benar: hanya ada dua baris kode. Pertama kami membuat objek Textrange baru; Proses ini dapat diimplementasikan dengan memanggil metode createrange (), yang kebetulan menjadi bagian dari objek Dokumen.