Mail

maryurs24
Mesaje: 70
Membru din: Joi Feb 21, 2013 8:34 am

Re: Mail

Mesaj de maryurs24 » Mar Sep 24, 2019 10:01 am

Varianta data de Indigo-ONE merge perfect. Mulțumesc mult.

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: Mail

Mesaj de Catalin B. » Joi Sep 26, 2019 4:33 am

@maryurs24:
E bine de stiut un lucru despre SendKeys: nu ofera garantia ca rezultatul va fi intotdeauna cel asteptat.
Din punctul meu de vedere, SendKeys e la sectiunea "de evitat" in orice aplicatie, chiar daca aparent e mai usor de scris codul, nu as recomanda nimanui aceasta comanda, reduce calitatea codului.

De obicei, se scrie cod pentru a urma o anumita procedura de lucru, care trebuie sa ia in calcul cat mai multe cazuri si situatii posibile ce apar in utilizare, iar SendKeys nu este o comanda cu rezultat 100% garantat, SendKeys functioneaza doar daca fereastra corespunzatoare este cea activa.

Altfel spus, daca utilizatorul face si altceva in timp ce ruleaza codul, sunt mari sanse ca SendKeys sa trimita obiectul din Clipboard in alta fereastra (intr-un browser de exemplu, daca userul citeste ziarul pe net).

E ca si cum ar merge cineva la vanatoare legat la ochi si incepe sa traga, s-ar putea sa nimereasca fereastra vecinului, cei din jur ar trebui sa se adaposteasca... Cam la fel e si SendKeys: dupa ce a pornit codul, utilizatorul ar trebui sa arunce mouse-ul si sa se indeparteze de calculator, altfel cine stie unde "trage" SendKeys.

Sau, cum ar fi ca userul sa manance linistit din castronul lui cu ciorba si sa se trezeasca brusc cu un cartof aruncat de cineva in castronul lui ? (acel cineva e SendKeys, tabelul e cartoful ...) :lol:

Deocamdata, bine ca merge, succes ;)
Probleme să fie, că soluţii se găsesc...

Indigo-ONE
Mesaje: 434
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Mail

Mesaj de Indigo-ONE » Joi Sep 26, 2019 8:08 pm

Discutii pro si contra....
E bine de stiut un lucru despre SendKeys: nu ofera garantia ca rezultatul va fi intotdeauna cel asteptat.
De acord dar depinde cum il folosesti. E valabil pentru toate functiile excelului.

Si depinde la ce te astepti sa faca....

In cazul codului scris de Maryurs, isi face treaba si ma indoiesc ca ar putea da rateuri. Codul dureaza foarte putin si e improbabil ca cineva sa "faca" multe lucruri in acest interval.
nu as recomanda nimanui aceasta comanda, reduce calitatea codului.
Nu vad cum ar putea reduce calitatea codului.
Probabil ca inginerii de la Microsoft nu s-au gandit la asta, si au introdus aceste SendKeys.
Am sa le trimit o scrisoare, in care am sa le reprosez....

Desigur poti scrie un cod imens (si fara sens, cu multe bucle redundante, cu multe scrieri si citiri in/din foaie, cu multe alte floricele fara sens...in care trebuie sa prevezi si ce nu este nevoie, -dar daca o fi mai tarziu nevoie???) care sa dureze "ore" pana la terminarea rularii lui si atunci poate poti citi si ziarele, astea apropo de:
Altfel spus, daca utilizatorul face si altceva in timp ce ruleaza codul, sunt mari sanse ca SendKeys sa trimita obiectul din Clipboard in alta fereastra (intr-un browser de exemplu, daca userul citeste ziarul pe net).
DAR....dar... in codul scris de Maryurs, se face selectia unui range, din foaie, inainte de lansarea codului, si indiferent ce ai avut in clipboard inainte de a rula codul, in Outlook, va aparea doar ce ai selectat ultima data, asta ca sa nu mai spunem ca excelul si windows-ul nu folosesc aceasi memorie temporara.

Restul sunt discutii....pareri, mai mult sau mai putin avizate...


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

maryurs24
Mesaje: 70
Membru din: Joi Feb 21, 2013 8:34 am

Re: Mail

Mesaj de maryurs24 » Joi Sep 26, 2019 8:17 pm

Nu știu care varianta ar fi mai buna pt mine, dar cea cu SendKeys merge bine pana acum. Tabelul pe care îl copiez eu are 10 randuri și maxim 7 coloane. Nu e ceva complicat. Am citit puțin și codul din linkurile recomandate dar e prea complicat pt mine și de la al 2-lea rand nu am mai înțeles nimic. Dacă merge ceva simplu, ce rost are sa ma complic?

Indigo-ONE
Mesaje: 434
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Mail

Mesaj de Indigo-ONE » Joi Sep 26, 2019 8:19 pm

Corect.

Poti studia daca te intereseaza si varianta cu word editor...este foarte usoara.
In rest...
Spor la treaba


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: Mail

Mesaj de Catalin B. » Joi Sep 26, 2019 8:45 pm

maryurs24 scrie:
Joi Sep 26, 2019 8:17 pm
Dacă merge ceva simplu, ce rost are sa ma complic?
De exemplu, din codul prezentat:

Cod: Selectaţi tot

.display 'sau .send pt trimitere
Atunci cand o sa incerci sa folosesti doar .send (si acea zi va veni cu siguranta), fara sa mai afisezi mesajul cu .display, tabelul o sa se "lipeasca" de pereti.
Pentru mine, e un motiv absolut suficient pentru construirea unei solutii solide care sa functioneze in orice situatie.
Iar codul e simplu:

Cod: Selectaţi tot

.HTMLBody=RangeToHTML(tabel)
.display 'sau .send pt trimitere, codul functioneaza pentru ambele
Acest cod necesita functia RangeToHTML prezentata anterior, trebuie doar copiata in modulul vb.
Probleme să fie, că soluţii se găsesc...

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”