Hej Hej Anna-Karin Skriv inte kod i VBA och anropa från .NET och använd inte heller ThisWorkbook. Skriv allt i korrekt VB.NET Tack för rådet. Jag har kollat runt lite mer och fått kläm på hur man ska göra, precis som du skriver.ThisApplication
Kan vara fel forum det här, då ber jag om ursäkt redan från början.
Jag ser ganska ofta kodexempel med Excel som jag gärna vill använda. Dessa kodexempel använder ibland t.ex ThisApplication och Application och vad jag förstår av kodexemplen så är det inte variabler som man själv definierar. Men när jag försöker använda koden i Microsoft Visual Studio .Net så "hittar" den inte ThisApplicaion (till exempel) oavsett vilka refernser jag försöker lägga till eller importera (t. ex. Imports Excel.ApplicationClass). Så nu undrar jag hur man gör får att kunna använda dylik kod, är det så att jag måste definiera den själv, vilket jag börjar luta åt? Hur gör man i sådana fall?
Ett exempel:
ThisApplication.ScreenUpdating = False
Då förstår den inte vad ThisApplication är.
/A-KSv: ThisApplication
Jag vet inte om jag förstått dig rätt, och jag är dessutom inte hundra på att mitt svar är rätt, men jag tror att det beror på följande:
ThisApplication och Application finns enbart i VBA, men du vill använda dessa i VB, nu importerar du förvisso Excel.ApplicationClass men jag tror inte att denna klass är identisk med, och omfattar hela VBA utan en anpassad klass, m.a.o så funkar det du vill om du kodar direkt i excel i VBA.
Jag vet ju inte riktigt vad du vill uppnå men en lösning skulle kunna vara att, helt enkelt skriva koden i VBA editorn och sen anropa koden från VB.net
Som jag skrev så är jag inte helt säker på att detta är det korrekta svaret, men jag tror att det är så...
Vänliga hälsningar Anders SvenssonSv:ThisApplication
Du måste bara hålla ordning på dina applicationobjekt så ordnar du detta.
När du arbetar skall du ha en instans av Excel.Application.
T ex
Dim oExcel as New Excel.Application
oExcel.Screenupdating=FalseSv: ThisApplication
/A-K