2011-02-26 10 views
6

I (bir eklenti işlem içi itibaren) Excel'de formül çubuğunun dışına akım (muhtemelen kararsız) metni almak istiyorum. Tüm "olağan" teknikleri vb GetWindowText (...), gibi çalışmıyorExcel'de formül çubuğundaki metni ve imleç konumunu almanın bir yolu var mı?

imleç pozisyonu gelince

: GetCaretPos gerçekten çalışıyor (x, şapka y coords döndürür), ancak EM_CHARFROMPOS değil (her zaman 0 döndürür) bu yüzden çıkmaz bir son.

bu işlevsellik COM yoluyla veya herhangi bir şekilde XLL API maruz mı?

DÜZENLEMEK: Sorunlarımın çoğunun, formül çubuğunun (en azından% 99 eminim) olduğu gerçeğinden kaynaklandığını belirtmek isterim. pencere sınıfına bakarak.

+0

geri başına gitmek ve aslında bu özel (mecazi) kediyi birden fazla yolu olabileceğinden ulaşmak istediğiniz şeyi açıklamak istiyorum. –

+0

Bunu söylemenin başka bir yolu olduğunu sanmıyorum. Geçerli metin ve imleç konumunu formül çubuğundan istiyorum. Benim sorum, Excel COM API veya XLL API (korkunç hack üzerinden değil) aracılığıyla bunu yapmak mümkün olsaydı, bunun gibi görünüyordu. – Steve

cevap

3

formül çubuğu ve Office kontrol gerçekten en standart dışı. Standart mesajların gönderilmesi başarı elde etmeyecektir.

Ben tek seçenek yürütülebilir kod tersine mühendislik olacak düşünün.

2

Steven Excel versiyonu? Denetim, bir pencere olacaktır. Office 2010, bu konuda daha standart kontroller kullanarak 'daha güzel'. Bu kontrole gönderilen tüm mesajları izlemek için Spy'ı kullanabilir ve neler aldığınızı görmek için bunları taklit etmeyi deneyebilirsiniz. Uzun yol olsa da.

+0

Herhangi bir çözüm ideal olarak en az 2003+ çalışacaktır. – Steve

+0

2003 ve 2007 arasındaki tüm sürümler için çözüm bulunmayacak olması 2003'ten çok farklı şekillerde çok farklı. –

+0

2003 ve 2007'ye bazı kazma yaptım ve her iki sürümde sözde düzenleme kutusu çok benzer. Her ikisinin de CS_OWNDC'si var, bu da uygulamanın tüm çizimi doğrudan yapmayı seçtiğini gösteriyor. Bu senin için kötü, çünkü sadece eski bir pencere olabilir. Bir düzenleme kutusu olduğunu gösteren hiçbir kanıt bulamadım. Spy'dan gelen mesajlar aynı diyor. Suda öldüğünden şüpheleniyorum. –

İlgili konular