2009-06-20 14 views
5

मैं दण्ड मुक्ति के साथ Access 2007 VBA संदर्भ का उपयोग कर सकते हैं का उपयोग 2003 के लिए VBA आधारित समाधान विकसित करने के (विशेष रूप से, जहाँ तक आधार भाषा और पुराने कॉम इंटरफेस में चिंतित हैं)?वहाँ कार्यालय 2003 और 2007 के बीच VBA संस्करणों में अंतर है?

या क्या उस भाषा में कुछ नया/संशोधित वाक्यविन्यास जोड़ा गया है जिसके बारे में मुझे अवगत होना चाहिए?

क्या ऑब्जेक्ट मॉडल को 2007 में बड़े पैमाने पर बढ़ाया गया है?

कोई अन्य चेतावनी?

धन्यवाद।

उत्तर

8

वीबीए भाषा स्वयं माइक्रोसॉफ्ट ऑफिस के हाल के संस्करणों के बीच नहीं बदला गया है (और शायद भविष्य में भी बदलाव नहीं होने वाला है)। Access2000 के बाद से वीबीए का संस्करण वीबीए 6 है।

कार्यालय अनुप्रयोगों का ऑब्जेक्ट मॉडल हालांकि मामूली संशोधित है। माइक्रोसॉफ्ट आमतौर पर अतिरिक्त तरीकों और गुणों से ओएम को बढ़ाता है। जहां तक ​​पहुँच का सवाल है तो मैं तुम्हें किसी भी जानकारी नहीं दे सकते हैं लेकिन आप यहां संशोधनों की एक सूची मिलेगी:

में सामान्य, VBA समाधान कार्यालय की एक निश्चित संस्करण के खिलाफ विकसित एक नए संस्करण के साथ काम करेंगे। हालांकि शैतान विवरण में निहित है। बग फिक्सिंग और नई सुविधाओं के कारण अनुप्रयोगों slighty पुराने संस्करण की तुलना में अलग तरह से व्यवहार हो सकता है। यह पता लगाने का एकमात्र तरीका है कि सब कुछ अभी भी काम करता है, संपूर्ण परीक्षण है।

+0

+1 धन्यवाद :) ये लिंक वास्तव में उपयोगी हैं। –

0

यदि आप अपने एडीडीबी/एमडीबी को accde/mde में संकलित कर रहे हैं, तो आप यह सुनिश्चित करना चाहते हैं कि आप उन्हें अपने मुख्य आवेदक के समान संस्करण में संकलित करें। मैं कुछ पहुँच 2003 MDE के Access 2007 (और स्पष्ट रूप से इसके विपरीत) के साथ उपयोग करने में समस्या थी।

2

2003 काम करता है अच्छी तरह से Excel में कुछ नए गुण, तरीके और वस्तुओं Excel में 2007

हालांकि, ज्यादातर कार्यक्रमों एक्सेल में 2007

वहाँ VBA Excel 2003 से कुछ सामान हैं कि काम करता है नहीं करता है एक्सेल 2007 में।

मुझे 4 समस्याएं मिली हैं।

  • "Chart.Add" स्वचालन त्रुटि Excel 2007 में देखते हैं जब दे 1 से अधिक चयनित

  • त्रुटि अपने आप में रीसेट नहीं करते हैं, यह आवश्यक है सेल आदेश से पहले Err.clear का उपयोग करता है सका एक त्रुटि जारी करें।

     On Error Resume Next 
         Intruction_That_Could_be_buggy_1 
         if Err.Number <>0 Then 
          Err.Clear  ' <<<<==== This command is necessary 
          Intruction_That_Could_be_buggy_2     
          if Err.Number <>0 Then 
            .... 
    
  • रेंज (...)।पेस्ट (xlFormulas) अब बंद हो जाता है जब एक संभावित नाम संघर्ष मौजूद है, इसका इस्तेमाल करने

    Application.displayalerts = False 
        Range(....).Paste(xlFormulas) 
        Application.displayalerts = True 
    
  • तरह Alt + N कई हॉटकी Excel में आरक्षित हैं 2007 Application.Onkey ("% n" "rotina आवश्यक है ") उस मामले में काम नहीं करता है। अब यह ALT + Letra शैली में कई रिबन शॉर्टकट है। मुझे इस व्यवहार को दबाने के लिए कोई रास्ता नहीं मिला है। इसके बजाय इसे अन्य हॉटकी का उपयोग किया जाना चाहिए।

+0

उम, आपके उत्तर के रूप में प्यारा है, मैं नहीं देख रहा हूं कि इस प्रश्न के पास एक्सेल के साथ क्या कुछ है। –

+0

आप सही हैं, मैं थोड़ा अनुपस्थित मन था। हालांकि, वीबीए से संबंधित एक्सेल 2003 से संबंधित एक्सेल 2007 के साथ क्या खुशी है अन्य वीबीए कार्यान्वयन में दोहराना चाहिए। वर्ड 2007 या आउटलुक 2007 में, मुझे कोई समस्या नहीं है (अब तक), लेकिन मेरा उपयोग कम तीव्र है –

+0

मैं इतना निश्चित नहीं होगा कि वर्ड/एक्सेल/आउटलुक में वीबीए सीमाएं भी एक्सेस पर लागू होंगी। –

संबंधित मुद्दे