Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Panowie, mam do Was gorącą prośbe o udzielenie mi pomocy. Szczególnie do tych, bardziej biegłych w temacie informatycznym.

W mojej "fabryce" został wprowadzony nastepujący formularz napisany w Wordzie. W Excelu, dowiedziałem się, nie można go było utworzy z przyczyn mi nieznanych :evil:

Z dokumentem jest niby wszystko w porządku, makra działają, dane formalne (pieczątki, dane pacjenta) skompilowane z programem roboczym (InfoMedica). Normalnie żyć, nie umierać.

Jednak jest mankament. Jak spowodować, żeby w  polu "liczba dokumentów" pojawiła się suma zaznaczonych aktywnych pól ( zaznaczonych "ptaszków").  Ten sam mankament jest na dole formularza, żeby zliczało liczbę dokumentów łącznie.

Uprzedzając pytania.....

ad 1) nie..... nie można tego zrobić w excelu .....:/ wrrrr.

ad 2) nie....... szpitalny informatyk tego temtu "nie ogarnia" :?

 

Byłbym Wam panowie bardzo wdzięczny za pomoc w  rozwiązaniu mojej zagwozdki.

 

post-1071-0-28915400-1397473639_thumb.pn

post-1071-0-10225900-1397473642_thumb.pn

Opublikowano
Uprzedzając pytania.....

ad 1) nie..... nie można tego zrobić w excelu .....:/ wrrrr.

ad 2) nie....... szpitalny informatyk tego temtu "nie ogarnia" :?

ad 1) Można

ad 2) Na OIO_IT z nim ;)

 

Generalnie trzeba policzyć zaznaczone checkboxy czyli coś w stylu 'checkbox checked'.

 

Nie znam układu i nazewnictwa checbox-ów ale wg mnie jeśli każdy z kolejnych nazywa się CheckBox1, CheckBox2 itd.. to wystarczy sprawdzić stan wszystkich, których nazwa zaczyna się od 'CheckBox'

 

Poniższa funkcja zlicza kontrolki typu checkbox, których nazwa/tytuł rozpoczyna się od 'Checkbox' i zwraca wynik jako liczbę.

Funkcję można ustawić dla każdego zbioru (grup), wywoływać przy każdej zmianie checbox-a a wynik wprowadzać jako wartość odpowiednich pól.

 

Function countChecked() as integer

  Dim controlscount As Integer, i As Integer, counter As Integer

  controlscount = ActiveDocument.ContentControls.Count

  counter = 0

  For i = 1 To controlscount

    If ActiveDocument.ContentControls.Item(i).Type = wdContentControlCheckBox Then

      If Left(LCase(ActiveDocument.ContentControls.Item(i).Title), 8) = "checkbox" Then counter = counter + 1

    End If

  Next i

  countChecked = i

End Function

 

Przepraszam, że nie sprawdzę kodu, piszę z pociągu, z głowy, w dodatku z telefonu :).

Może będzie ktoś stacjonarnie, kto pomoże :)

ps.

w excelu nawet bez makr da się to zrobić. Zamiast kontrolek typu checkbox wystarczy kolumna o szerokości identycznej jak wysokość (kwadrat), obramowanej, z wyśrodkowanym tekstem na przyjęcie znaku X.

Na koniec gdzieś w dokumencie zliczamy funkcją 'ile.niepustych'. Koniec. :)

post-2483-0-22000100-1397484323_thumb.pn

 

  • Oceniam pozytywnie 3

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.