سؤال

لا أحد يعرف كيفية استدعاء 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"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top