اكسل المدمج في الحوارات
سؤال
لا أحد يعرف كيفية استدعاء import data
المدمج في الحوار التفوق من ماكرو (VBA)؟
ولقد حاولت Application.Dialogs.Item(...).Show
لكن لا يمكنني العثور على الحوار الصحيح.
الرجاء المساعدة.
وشكرا مقدما.
المحلول
والأقرب يمكنني العثور على استخدام نظام الحوار هو:
Application.Dialogs(xlDialogImportTextFile).Show
ويمكنك الحصول على مرجع إلى زر شريط الأوامر (على الأقل بالنسبة لي في كل 2K3 و2K7) عن طريق:
Set button = Application.CommandBars.FindControl(ID:=6262)
ولكن استدعاء الأسلوب Execute
على فشل زر. وللأسف، فإن الجواب القصير يبدو أن أنه من غير الممكن.
ويمكنك إضافة كائنات جدول الاستعلام باليد. في حين لم مسار الأمثل، هل يمكن أن تصميم واجهة بسيطة الخاصة بك لاختيار مصدر البيانات.
نصائح أخرى
إذا اخترت مستعرض الكائنات والبحث عن الكلمة، xlDialogImportTextFile، ستحصل على قائمة الحوارات الممكنة.
وتحرير: ربما شيء على هذه الخطوط سوف تناسب:
'Allow user to select text file
sf = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If sf <> False Then
'Open text file
Workbooks.OpenText sf
End If
وأنا لا أعتقد أن هناك ما يعادل VBA، لأنه في حالة واحدة كنت إرجاع البيانات إلى ورقة عمل، بينما في الحالة الأخرى، يتم وضع البيانات في السجلات في الذاكرة.
وهذا حل مشكلة يجب أن يطفو على السطح الحوار بالنسبة لك، ولكن:
SendKeys "%ddd"