Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.

Podobne dokumenty
DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

Tablice, DataGridView

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

01 grid tablica grid. Copyright 2017, mgr inż. Janusz Bonarowski 1

Ćwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków)

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Instrukcja pobrania i instalacji wersji testowej Invest for Excel

Aplikacje w środowisku VBA. Visual Basic for Aplications

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Visual Basic for Applications. Wstęp

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

Ćwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005

M a k r a i d o d a t k o w e f o r m a n t y

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Zastanawiałeś się może, dlaczego Twój współpracownik,

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY.

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

FAQ. Kwiecień Generator Wniosków Płatniczych (GWP) Wersja 1.0

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Typoszeregi - SolidWorks <- Excel

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Przygotowanie rozkładu materiału nauczania w programie Excel

Obsługa blędów i zewnętrznych plików

Instrukcja laboratoryjna nr.4

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Połączenie AutoCad'a z bazą danych

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Visual Basic dla AutoCAD

Działki Przygotowanie organizacyjne

Visual Basic w programie Excel

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

Piotr Dynia. PowerPivot. narzędzie do wielowymiarowej analizy danych

Zapytania i wstawianie etykiet z bazy danych do rysunku

VISUAL BASIC W EXCELU

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Arkusze kalkulacyjne i VBA

FAQ: /PL Data: 14/06/2007 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-200

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Instrukcja migracji PREMIUM. Mendeley_Migration_Guide_Polish.indd 1

INSTRUKCJA IMPORTU PRODUKTÓW DO SKLEPU

Instrukcja obsługi programu PLOMP PLUS FM

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

Podstawy informatyki

Piotr Dynia. PowerPivot. narzędzie do wielowymiarowej analizy danych

Programowanie wielowarstwowe i komponentowe

Instalowanie VHOPE i plików biblioteki VHOPE

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP

INFORMATOR TECHNICZNY WONDERWARE

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Materiały do laboratorium MS ACCESS BASIC

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Przewodnik Szybki start

Aplikacje geodezyjne

Jak zapisać wersję elektroniczną pracy dyplomowej? - INSTRUKCJA (krok po kroku)

Instrukcje cykliczne (pętle) WHILE...END WHILE

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Technologie informacyjne

Funkcje i instrukcje języka JavaScript

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Instrukcja użytkownika. programu NFZMonit

BEXLAB RYSZARD MATUSZYK, BRZOZOWA 14, DĘBE WIELKIE, TEL. KOM.: Instalacja. Microsoft SQL Server 2008 R2 SP2 Express

Zaawansowane aplikacje internetowe - laboratorium

Jak zapisać wersje elektroniczną pracy dyplomowej? - INSTRUKCJA (krok po kroku)

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Paweł Cieśla. Dokumentacja projektu

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Języki skryptowe w programie Plans

instrukcja instalacji programu Neofon Spis treści Opis procedury instalacyjnej... 2 strona 1 z 8 Instrukcja instalacji programu Neofon

INSTRUKCJA OBSŁUGI PROGRAMU DO ODCZYTU PAMIĘCI FISKALNEJ DATECS OPF

PODSTAWY VBA Rinat Szepe ( )

Tablice. Jones Stygar na tropie zmiennych

Instrukcja obsługi programu M116_Manager

Czytnik kart pamięci 8w1, Conrad USB 2.0 Instrukcja obsługi

Instrukcja instalacji i użytkowania programu NFZPersonel

VBA praca z makrami w Excelu

Technologie informacyjne: Excel i Python

Tworzenie dokumentacji 2D

Visual Basic w programie Excel dla Windows

Instrukcja systemu POMOST

Leszek Stasiak Zastosowanie technologii LINQ w

Bazy Danych. Wykład VII Makropolecenia. Copyright by Arkadiusz Rzucidło 1

Transkrypt:

Zadanie Wykonać aplikację posiadającą możliwość komunikowania się (zapis/odczyt) pomiędzy obiektem DataGridView, a plikiem tekstowym i plikiem MS Excel. Niech formularz ma postać jak na rys. 1. Rysunek 1 Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2. Rysunek 2 Copyright 2015, Janusz Bonarowski 1

Kod aplikacji Wszystkie uwagi zamieszczono w postaci komentarzy w kodzie aplikacji. Aplikacja będzie działać na komputerze, na którym zainstalowany jest: Visual Basic 2013 Express i Microsoft Excel 2010. ' '------------------------------------------------- ' Uwaga ' Jeśli zamierzamy korzystać z obiektów Excela ' to do projektu należy dodać referencję ' do biblioteki z tymi obiektami. ' Wykonujemy to sekwencją z menu: ' - PROJECT Add Reference... ' - w oknie Add Reference wybrać zakładkę COM ' - w lewej części okna wybrać Type Libraries ' - na liście zaznaczyć kratkę przy: ' - Microsoft Excel 14.0 Object Library ' (- Microsoft Office 14.0 Object Library, ta biblioteka może nie być konieczna) ' - Kliknąć przycisk OK '--------------------------------------------------- ' ' Uwaga! Poza blokiem klasy (Public Class) umieszczamy instrukcję ' zaimportowania przestrzeni nazw: Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Private Sub mnutekstowyotworz_click(sender As Object, e As EventArgs) _ Handles mnutekstowyotworz.click ' Otwarcie pliku tekstowego do odczytu ' ------------------------------------ OpenFileDialog1.InitialDirectory = CurDir() OpenFileDialog1.Filter = _ "Pliki tekstowe (*.txt) *.txt Wszystkie pliki (*.*) *.*" OpenFileDialog1.FileName = "" OpenFileDialog1.ShowDialog() Private Sub OpenFileDialog1_FileOk(sender As Object, _ e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk ' Odczytanie danych z pliku tekstowego" ' --------------------================= Dim autorimie As String = "" Dim autornazwisko As String = "" Dim tytul As String = "" Dim sciezkaplik As String sciezkaplik = OpenFileDialog1.FileName FileOpen(1, sciezkaplik, OpenMode.Input) 'Usuń wiersze z grida zostawiając jeden (edycyjny) DataGridView1.Rows.Clear() Copyright 2015, Janusz Bonarowski 2

Do While Not EOF(1) Input(1, autorimie) Input(1, autornazwisko) Input(1, tytul) DataGridView1.Rows.Add(autorImie, autornazwisko, tytul) Loop FileClose(1) MsgBox(Err.Description, MsgBoxStyle.OkOnly, Err.Number) End Private Sub mnutekstowyzapisz_click(sender As Object, e As EventArgs) _ Handles mnutekstowyzapisz.click SaveFileDialog1.InitialDirectory = CurDir() SaveFileDialog1.Filter = _ "Pliki tekstowe (*.txt) *.txt Wszystkie pliki (*.*) *.*" SaveFileDialog1.FileName = "" SaveFileDialog1.ShowDialog() Private Sub SaveFileDialog1_FileOk(sender As Object, _ e As System.ComponentModel.CancelEventArgs) _ Handles SaveFileDialog1.FileOk 'Zapisywanie danych z grida do pliku tekstowego '---------------------------------------------- Dim autorimie, autornazwisko, tytul, wiersz As String Dim sciezkaplik As String Dim liczbawierszy As Integer Dim i As Integer sciezkaplik = SaveFileDialog1.FileName FileOpen(1, sciezkaplik, OpenMode.Output) liczbawierszy = DataGridView1.RowCount For i = 0 To liczbawierszy - 2 '<<<< UWAGA! Odejmujemy 2 autorimie = DataGridView1.Item(0, i).value '(koloumna, wiersz) autornazwisko = DataGridView1.Item(1, i).value tytul = DataGridView1.Item(2, i).value wiersz = autorimie & "," & autornazwisko & "," & tytul PrintLine(1, wiersz) Next FileClose(1) MsgBox("Informacje zapisano w pliku:" & vbcrlf & sciezkaplik) MsgBox(Err.Description, MsgBoxStyle.Exclamation, "Błąd zapisu") End Copyright 2015, Janusz Bonarowski 3

Private Sub mnuexcelzapisz_click(sender As Object, e As EventArgs) _ Handles mnuexcelzapisz.click SaveFileDialog2.InitialDirectory = CurDir() SaveFileDialog2.Filter = _ "Pliki Excel 2010 (*.xlsx) *.xlsx Wszystkie pliki (*.*) *.*" SaveFileDialog2.FileName = "" SaveFileDialog2.ShowDialog() Private Sub SaveFileDialog2_FileOk(sender As Object, _ e As System.ComponentModel.CancelEventArgs) _ Handles SaveFileDialog2.FileOk ' Zapisywanie danych z grida do pliku Excela '------------------------------------------- Dim objexcel As New Excel.Application Dim objzeszyt As Excel.Workbook Dim objarkusz As Excel.Worksheet Dim pliknowy As String Dim liczbawierszy As Integer ' Start Excela i utworzenie obiektu Aplikacja Excela. objexcel = CreateObject("Excel.Application") ' Pobranie nazwy pliku Excela wraz ze ścieżką pliknowy = SaveFileDialog2.FileName ' Otwarcie zeszytu Excela wskazanego w "plik" 'objzeszyt = objexcel.workbooks.open(plik) 'lub dodaj pusty zeszyt do Excela 'Uwaga. Otwieramy pusty zeszyt Excela z domyślną nazwą, 'którą później (niżej) zmienimy nazwę wpisaną w SaveDialog. 'Nazwa ta przechowywana jest w zmiennej "pliknowy". objzeszyt = objexcel.workbooks.add() ' Uaktywniamy pierwszy arkusz w Excelu ' i się do niego odwołujemy objarkusz = objzeszyt.activesheet liczbawierszy = DataGridView1.RowCount For i = 0 To liczbawierszy - 2 '<<<< UWAGA! Odejmujemy 2 'Przepisywanie wartości z grida do Excela 'Odwołanie do komórek Excela:.Cells(wiersz, kolukna) 'Odwołanie do komórek grida:.item(koloumna, wiersz) objarkusz.cells(i + 1, 1).Value = DataGridView1.Item(0, i).value objarkusz.cells(i + 1, 2).Value = DataGridView1.Item(1, i).value objarkusz.cells(i + 1, 3).Value = DataGridView1.Item(2, i).value Next ''Zapisanie Zeszytu - pliku Excela ze starą nazwą Copyright 2015, Janusz Bonarowski 4

''objzeszyt.save() 'Zapisanie Zeszytu jako pliku Excela z nową nazwą objzeszyt.saveas(pliknowy) 'Zamknięcie Zeszytu - pliku objzeszyt.close() 'Zamknięcie aplikacji Excel objexcel.quit() ' Zwalnianie pamięci po obiektach objexcel = Nothing objzeszyt = Nothing objarkusz = Nothing MsgBox("Program zakończył wpisywanie") MsgBox(Err.Description, MsgBoxStyle.Information, _ "błąd nr = " & Err.Number) End Private Sub mnuexcelotworz_click(sender As Object, e As EventArgs) _ Handles mnuexcelotworz.click OpenFileDialog2.InitialDirectory = CurDir() OpenFileDialog2.Filter = _ "Pliki Excel 2010 (*.xlsx) *.xlsx Wszystkie pliki (*.*) *.*" OpenFileDialog2.FileName = "" OpenFileDialog2.ShowDialog() Private Sub OpenFileDialog2_FileOk(sender As Object, _ e As System.ComponentModel.CancelEventArgs) _ Handles OpenFileDialog2.FileOk ' Zapisywanie danych z grida do pliku Excela '------------------------------------------- Dim objexcel As New Excel.Application Dim objzeszyt As Excel.Workbook Dim objarkusz As Excel.Worksheet Dim plik As String Dim autorimie, autornazwisko, tytul As String Dim i As Integer ' Start Excela i utworzenie obiektu Aplikacja Excela. objexcel = CreateObject("Excel.Application") ' Pobranie nazwy pliku Excela wraz ze ścieżką ' do otwarcia w Excelu plik = OpenFileDialog2.FileName 'Otwarcie zeszytu Excela wskazanego w "plik" objzeszyt = objexcel.workbooks.open(plik) Copyright 2015, Janusz Bonarowski 5

' Uaktywniamy pierwszy arkusz w Excelu ' i się do niego odwołujemy objarkusz = objzeszyt.activesheet 'Usuń wiersze z grida zostawiając jeden (edycyjny) DataGridView1.Rows.Clear() ' Pobieranie danych z kolejnego wiersza Arkusza Excela. ' Kryterium przerwania pętli: pętlę przerywamy gdy okaże się, ' że pierwsza komórka w wierszu jest pusta. i = 1 Do While objarkusz.cells(i, 1).value <> Nothing autorimie = objarkusz.cells(i, 1).Value.ToString autornazwisko = objarkusz.cells(i, 2).Value.ToString tytul = objarkusz.cells(i, 3).Value.ToString DataGridView1.Rows.Add(autorImie, autornazwisko, tytul) i = i + 1 Loop 'Zamknięcie Zeszytu - pliku objzeszyt.close() 'Zamknięcie aplikacji Excel objexcel.quit() ' Zwalnianie pamięci po obiektach objexcel = Nothing objzeszyt = Nothing objarkusz = Nothing MsgBox("Program zakończył wpisywanie do DataGridView") MsgBox(Err.Description, MsgBoxStyle.Information, _ "błąd nr = " & Err.Number) End End Class Copyright 2015, Janusz Bonarowski 6