فکر نمی کنم این خطا بخاطر نصب نرم افزار فوق باشه چون این نرم افزار بر روی سیستم من هم نصبه ولی مشکلی در اجرای فایل وجود نداره .
نسخه آفیس نصب شده بر روی سیستم ویندوزتون چیه ؟
شاید لازم باشه یکبار آفیس رو حذف و مجدداً نصب کنی . چون قبلاً سر موضوع ارسال اطلاعات به ورد هم مشکل داشتی
آخرین ویرایش به وسیله eb_1345 : یک شنبه 19 فروردین 1403 در 00:42 صبح دلیل: حذف توضیح اضافه
سلام استاد بهرامی عزیز
من مشکل رو برطرف کردم ویندوز رو تعویض کردم برطرف شد .
استاد بهرامی من یک فایل نمونه پیوست می کنم ممنون میشم بنده رو راهنمایی کنید
در فایل زیر من یک فرم دارم که بالای صفحه خروجی اکسل داره (با استفاده از کوئری Qu ) وقتی کلیک می کنم با استفاده از کد نویسی ماژول modExcel اطلاعات رو از اکسس به اکسل انتقال میده
کنار فایل اصلی یک فایل اکسل هست به نام Dashboard که شیت اول اسمش Main و شیت دوم اسمش Dashboard هست .
اطلاعات رو به شیت Main انتقال و بعد میره به شیت Dashboard .
سوال : این ماژول طوری طراحی شده که فقط میتونه اطلاعات رو از جدول و کوئری به اکسل انتقال میده (نکته : کل اطلاعات رو انتقال میده ) من میخوام اول فرمم رو فیلتر کنم بعد اون اطلاعاتی که فیلتر شده رو به اکسل انتقال بدم
نمی خوام کل اطلاعات رو انتقال بده .
سلام
خدا رو شکر که مشکلتون برطرف شد
در ارتباط با فیلتر نمودن اطلاعات ارسالی از جدول به اکسل میتونی بجای درج نام کوئری از کد اسکیوال استفاده کنی
بصورت زیر :
Call SendTQ2XLWbSheet("select * from tblu where id= " & id & "", "Main", CurrentProject.Path & "\Dashboard.xlsx")
در کد فوق من بر اساس فیلد ID که باید اون رو به فرم اضافه کنی اطلاعات جدول رو فیلتر کرده ام
سلام ممنون بابت پاسخگویی سریع شما
فقط من حواسم نبود که بگم فرم من به صورت Continuous Forms هست الان کد شما هم اومده جدول tblu رو بر اساس id فیلتر کرده
من میخوام مثلا در فرمم یک تکس باکس بذارم و بر اساس مثلا نام خانوادگی 100 تا دارم (به طور مثال 30 تا نام خانوادگی رو فیلتر کرد ) بیاد اون 30 تا نام خانوادگی رو به اکسل انتقال بده
فکر کنم هم کد اصلی و هم ماژول modExcel باید تغییر کنه
نمونه ضمیمه رو بررسی کن ببین همون چیزیه که مد نظرته
در نمونه فوق برای فیلتر کردن اطلاعات Continuous Forms سه تکست باکس جستجو قرار داده ام که شما میتونی در هر کدوم به تنهائی یا باهم بصورت ترکیبی حرف یا عبارت ستون مربوطه رو وارد کنی و دکمه ای که با آیکون فیلتر مشخصه کلیک کنی تا اطلاعات فیلتر شوند بعد اونها رو به اکسل بفرستی . درصورت عدم فیلتر هم میتونی کل اطلاعات رو یکجا به اکسل ارسال کنی
در مورد کدهای ماژول ارسال فایل اکسل عنایت داشته باش در خطی که کد xlWSh.Range("A1:D1").Select درج شده D1 را با توجه به تعداد ستونهای جدول تغییر بده . در جدول فایل نمونه چون تعداد ستونها 4 تا میباشد آخرین ستون در فایل اکسل D1 میباشد و بفرض اگر تعداد ستون های جدول شما 6 تا باشد باید F1 رو جایگزین D1 نمائید .
و اگر به فعال شدن شیت Dashboard در فایل اکسل نیاز نداری میتونید یک خط کد زیر رو از کدهای ماژول ارسال به اکسل حذف نمائید!
ApXL.Worksheets("Dashboard").Activate
آخرین ویرایش به وسیله eb_1345 : سه شنبه 21 فروردین 1403 در 04:30 صبح