8
Wyszukuję dane z programu Excel i chcę zachować moje tablice 0, ale program Excel zwraca 1 bazę. Czy istnieje dość prosty sposób zwracania zmiany tablicy od 1 do 0 bazy? Czy po prostu muszę utworzyć pętlę?Zmienianie macierzy bazowej 1 na bazę 0 Array
Oto przykładowy kod tutaj:
dim oData(,) as object
dim rng as range
dim wks as worksheet = xlApp.Activeworkbook.sheets(Sheet1)
rng=wks.Range("A1:B2")
oData=rng.Value2
Tak - pętla. Nie jestem pewien, czy to dobra praktyka - każdy znany z działania VBA wie, że tablica wariantów z Range(). Wartość jest oparta na 1: jeśli zmienisz ją na 0, może to spowodować więcej problemów niż rozwiązuje , szczególnie jeśli Soemone skończy z utrzymaniem twojego kodu. –
Tak, nie byłem pewien, jak to się stało w VB.NET, używam biblioteki, którą zrobiłem z pliku wykonawczego programu Excel 2003 i pomyślałem, że może być inaczej z tego powodu. Wiem, że Excel-DNA zwraca tablicę opartą na zero, więc domyślam się, że to dlatego założyłem, że jest standardem, aby być opartym na 0 w .NET. Sądzę, że będę trzymać się z tablicą opartą na 1. Jeśli umieścisz swój komentarz jako odpowiedź, oznaczy go jako prawidłowy, chyba że ktoś inny przejdzie z lepszą odpowiedzią między teraz. – Jon49
@TimWilliams, Właśnie zauważyłem, że mówisz o VBA. Sądzę więc, że nie odpowiedziałeś na moje pytanie dotyczące .NET. Cóż, może ktoś inny da mu szansę! – Jon49