Pertanyaan VBA Mengupgrade akhir pengguna Microsoft Office 2007 hingga 2010 (VBA 6 ke VBA7) masalah dan kebutuhan untuk dokumentasi, bantuan, tips. (Cukup dengan kata kunci)


Sebagai pengguna bisnis kecil biasa, ketika laptop saya rusak saya HARUS meningkatkan ke Office 2010 (2007 tidak lagi di pasaran). Sekarang saya punya banyak VBA yang cepat dan kotor untuk pergi dengan lembar kerja lama saya. Tak satu pun dari mereka adalah karya pemrograman, tetapi mereka bekerja dan mendapat pekerjaan dengan excel, dan office 2007.

Sekarang saya mencoba menggunakan barang lama saya di Office 2010, dan semuanya hanya sedikit untuk digunakan. Selama dua hari saya mencari web, mencoba mencari dokumentasi apa pun untuk pengguna akhir, tidak berhasil. Saya menemukan banyak blog yang ditujukan untuk programmer profesional yang berharap membuat kode bukti peluru untuk melayani apa pun dari Office 0 hingga Office2010, 32 bit hingga 64 bit (Tidak ada 8 bit di sini?), Tetapi tidak ada artikel yang berbicara tentang bisnis utama , Pengguna Akhir dengan seluruh kode buatan sendiri untuk bertahan hidup sehari.

Bagaimana cara membuat VBA 2007 saya yang lama bekerja dengan tahun 2010?

Tidak, saya tidak membutuhkannya agar kompatibel dengan apa pun yang kompatibel, itu cukup untuk bekerja dengan komputer baru saya, dan perangkat lunak baru (Dalam kasus saya itu 64 bit, jika ada yang bertanya-tanya). Saya hanya perlu tahu mengapa kode saya tidak berfungsi lagi, dan apa yang harus dilakukan. Yang saya inginkan adalah beberapa petunjuk untuk informasi nyata, jika ada! Tentu saja saya bisa menyalin-tempelkan setiap bagian kode saya ke forum diskusi programmer, ditertawakan, dan setelah beberapa minggu saya mungkin mendapatkan beberapa dari mereka untuk bekerja, tetapi apa yang saya perlukan adalah informasi nyata yang ditulis ke pengguna VBA dasar. Saya perlu belajar ini.

Jadi Apa Masalah Anda?


4
2018-06-02 06:15


asal


Jawaban:


Untuk semua Anda TextBox contoh berubah .Text untuk .Value

Itu SmartTagRecognizer masalah akan tampak sebagai positif palsu sehingga tidak diperlukan tindakan di sana


Pada kesalahan dengan formulir, Anda dapat mencoba membuat formulir dengan cara ini untuk melihat apakah itu membantu:

Private Sub myMacro2001_Click()

Dim meetingId As Integer
Dim fmHours As formHours

meetingId = 2001
Set fmHours = New formHours

fmhours.selectMeeting meetingId
fmHours.Show vbModeless

End Sub

Juga, Anda bisa berubah Sub selectMeeting untuk Public Sub selectMeeting


Dokumentasi pada perbedaan aktual dalam VBA antara Office 2007 dan Office 2010 tampaknya agak jarang. Halaman ini secara khusus menyebutkan bahwa kontrol ActiveX 32-bit (baik kustom dan built-in) akan tidak bekerja di versi 64-bit Office 2010. Oleh karena itu, ini mungkin menjadi akar masalah Anda.

Ada juga kutipan dari Microsoft sini:

Akankah versi 64-bit dari produk Office 2010 tersedia?

Ya, produk Office 2010 64-bit   upgrade akan tersedia. Namun   kami sangat menyarankan sebagian besar pengguna   instal versi 32-bit Office 2010   pada Pengoperasian 32 dan 64-bit   Sistem karena saat ini banyak dijumpai   add-ins untuk Office tidak akan berfungsi   dalam edisi 64-bit. 64-bit   instalasi Microsoft Office 2010   produk akan tersedia untuk pengguna   yang biasanya menggunakan dokumen yang sangat besar   atau set data dan membutuhkan Excel 2010   program untuk mengakses lebih dari 2GB   ingatan. Mungkin ada masalah teknis   dengan versi 64-bit dan berurutan   untuk menginstal versi Office 64-bit   Pengguna produk 2010 harus memiliki 64-bit   mendukung sistem operasi pada mereka   PC.

(Penekanan saya)

Jika Anda bisa, cobalah menginstal ke versi 32-bit Office 2010 sebagai gantinya


1
2018-06-02 11:28



Saya mengalami masalah juga ... selama beberapa dekade saya telah menggunakan ini untuk membuat string "=" karakter untuk istirahat visual dalam teks dll ...

STRING$(80,"=")

Sekarang orang mengatakan kepada saya bahwa kode tersebut gagal di Excel 2010.

Apa penggantinya di atas? Maksud saya ... saya bisa melakukan ini ...

For X = 1 to 80
print "=";
next x
print

tapi itu langkah nyata mundur.

Ada satu potensi perbaikan ... yaitu mengubahnya ke referensi VBA seperti ini ...

VBA.STRING$(80,"=")

Itu tampaknya masih bekerja pada 2007.


0
2017-12-09 05:13



Mengambil poin ini dari @barrowc:

Halaman ini secara khusus menyebutkan bahwa kontrol ActiveX 32-bit (keduanya   kustom dan built-in) tidak akan berfungsi di versi 64-bit Office   2010.

Saya memiliki solusi parsial untuk itu - mengganti tombol ActiveX dengan bentuk-bentuk embedding gambar - dan beberapa jawaban yang Anda butuhkan untuk itu mungkin di jawaban yang saya berikan tentang memalsukan perilaku 'klik tombol'

Ini adalah banyak pekerjaan, dan Anda mundur dari kode event-driven ke objek yang kurang mampu dan desain 'assign macro' yang ketinggalan jaman. Tetapi Anda setidaknya bisa mempertahankan kegunaan visual dari desain lembar kerja Anda.


0
2018-04-21 16:30