كيف يمكنك وضع كائن مربع نص فوق خلية معينة عند أتمتة برنامج Excel؟

StackOverflow https://stackoverflow.com/questions/66934

  •  09-06-2019
  •  | 
  •  

سؤال

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

كود إضافة مربع نص هو:

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 227.25, 304.5, 21#)

ولكن تحديد المواقع في نقاط.نحن بحاجة إلى طريقة لوضعها فوق خلية معينة، وتغيير حجمها مع الخلية.كيف يمكننا معرفة مكان وضعها عندما نعرف فقط الخلية التي سنضعها عليها؟

هل كانت مفيدة؟

المحلول

إذا كان لديك اسم الخلية أو موضعها، فيمكنك القيام بما يلي:

With ActiveSheet
  .Shapes.AddTextbox msoTextOrientationHorizontal, .Cells(3,2).Left, .Cells(3,2).Top, .Cells(3,2).Width, .Cells(3,2).Height
End With

سيؤدي هذا إلى إضافة مربع نص فوق الخلية B3.عندما يتم تغيير حجم B3، يتم تغيير حجم مربع النص أيضًا.

نصائح أخرى

عندما تقوم بنسخ مربع نص ولصقه، سيقوم Excel بوضع مربع النص الجديد فوق أي خلية محددة حاليًا.لذلك يمكنك تحقيق ذلك بسهولة شديدة بمجرد استخدام أوامر النسخ واللصق في VBA.يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت ستستخدم الكثير من مربعات النص المتشابهة جدًا، حيث تقوم بإنشاء قالب مربع نص بشكل فعال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top