ms-access - كيفية استخدام سفتب من داخل وحدة قاعدة بيانات مس أسيس؟





access-vba sftp (5)


تشيلكات يحتوي على مكون فتب الذي يعمل مع كوم / أكتيفكس. وتقول أنها تدعم بروتوكول نقل الملفات عبر سل (فتبس)، والتي أعتقد أنها هي نفس سفتب. لقد استخدمت بعض منتجاتها الأخرى من قبل ل. نت وأنها عملت بشكل جيد للغاية. لديهم نسخة تجريبية مجانية، بحيث يكون لديك شيئا لتخسره عن طريق تحميل والتحقق إذا كانوا يعملون من أجلك.

لدي شرط لإنشاء قاعدة بيانات بسيطة في أسيس لجمع بعض بيانات المستخدم التي سيتم تحميلها في قاعدة بيانات أخرى لمزيد من التقارير. سيكون هناك وحدة نمطية في ديسيبل الوصول التي عند استدعاء من قبل المستخدم (ربما عن طريق النقر على زر) سيتم إخراج استعلام إلى ملف محدد. يحتاج المستخدم أيضا إلى آلية (على سبيل المثال نموذج مع زر) لنقل الملف بسهولة إلى ملقم بعيد باستخدام سفتب. هل لدى أي شخص فكرة عن كيفية تحقيق ذلك؟




أود أن أتصور تحتاج فقط للعثور على كائن كوم فتب. ثم يجب أن تكون قادرة على إنشاء هذا في التعليمات البرمجية وحدة الوصول. dart.com لديه واحد وأنا متأكد من أن هناك العديد من أكثر (فقط جوجل فتب كوم).







يمكنك ببساطة كتابة مكالمة إلى عميل سطر الأوامر سفتب عن طريق ملف دفعي إذا كنت ترغب في تحقيق ذلك.

تحقق من وظيفة شل () في فبا.

تحت الحدث النقر على زر في النموذج الخاص بك إضافة في التعليمات البرمجية:

mySFTPCall = "sftp <insert your options here!>"
Call Shell(mySFTPCall, 1)

لقد استخدمت هذا قبل أن مجرد نسخ الملفات مباشرة عبر شبكة سهم الخ لتبادل البيانات من داخل المنزل الوصول دب. بالطبع يمكنك الحصول على أكثر يتوهم إذا لزم الأمر.




يضيف Outlook التوقيع على الرسائل غير المعدلة الجديدة (يجب عدم تعديل النص قبل ذلك) عند استدعاء MailItem.Display (الذي يتسبب في عرض الرسالة على الشاشة) أو عند الوصول إلى الخاصية MailItem.GetInspector - تقوم بذلك لا يلزم القيام بأي شيء باستخدام كائن "المفتش" الذي تم إرجاعه ، ولكن سيقوم Outlook بملء نص الرسالة مع التوقيع.

بمجرد إضافة التوقيع ، قم بقراءة خاصية HTMLBody ودمجها بسلسلة HTML التي تحاول تعيينها. لاحظ أنه لا يمكنك ببساطة ربط سلسلتي HTML - يجب أن يتم دمج السلاسل. على سبيل المثال ، إذا كنت تريد إدخال السلسلة في أعلى نص HTML ، فابحث عن السلسلة الفرعية "<body" ، ثم ابحث عن التواجد التالي لـ ">" (هذا يعنى بالعنصر <body> بالسمات) ، ثم أدخل سلسلة HTML الخاصة بك بعد ذلك ">".

لا يقوم Outlook Object Model بكشف التوقيعات على الإطلاق.

في ملاحظة عامة ، يتم تخزين اسم التوقيع في بيانات ملف تعريف الحساب التي يمكن الوصول إليها من خلال واجهة IOlkAccountManager Extended MAPI. بما أن هذه الواجهة هي Extended MAPI ، فيمكن الوصول إليها فقط باستخدام C ++ أو Delphi. يمكنك رؤية الواجهة وبياناتها في OutlookSpy إذا قمت بالنقر فوق الزر IOlkAccountManager .
بمجرد حصولك على اسم التوقيع ، يمكنك قراءة ملف HTML من نظام الملفات (ضع في اعتبارك أن اسم المجلد (التواقيع باللغة الإنجليزية) مترجم.
ضع في اعتبارك أيضًا أنه إذا احتوى التوقيع على صور ، فيجب إضافتها أيضًا إلى الرسالة كمرفقات <img> في نص التوقيع / الرسالة معدلة لتوجيه السمة src إلى المرفقات بدلاً من مجلد فرعي من مجلد التوقيعات حيث يتم تخزين الصور.
كما ستكون مسئوليتك أيضًا دمج أنماط HTML من ملف HTML التوقيع مع أنماط الرسالة نفسها.

إذا كان استخدام Redemption هو خيار ، يمكنك استخدام كائن RDOAccount الخاص به (يمكن الوصول إليه بأي لغة ، بما في ذلك VBA). يتم تخزين توقيع توقيع رسالة جديدة في الخاصية 0x0016001F ، يكون توقيع الرد في 0x0017001F . يمكنك أيضًا استخدام RDOAccount . ReplySignature وخصائص NewSignature .
الاسترداد يعرض أيضًا RDOSignature . ApplyTo method الذي يأخذ مؤشرًا إلى كائن RDOMail ويقوم بإدراج التوقيع في الموقع المحدد بشكل صحيح لدمج الصور والأنماط:

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set Drafts = Session.GetDefaultFolder(olFolderDrafts)
set   Msg = Drafts.Items.Add
Msg.To =   "[email protected]"
Msg.Subject =   "testing signatures"
Msg.HTMLBody =   "<html><body>some <b>bold</b> message text</body></html>"
set Account = Session.Accounts.GetOrder(2).Item(1)   'first mail account
if  Not (Account  Is  Nothing)  Then
   set Signature = Account.NewMessageSignature
   if  Not (Signature  Is  Nothing)  Then
    Signature.ApplyTo Msg,  false   'apply at the bottom
   End If
End If
Msg.Send

تحرير : اعتبارًا من يوليو 2017 ، لن يقوم MailItem.GetInspector في Outlook 2016 بإدراج التوقيع. فقط MailItem.Display .





ms-access access-vba sftp