public Opskrivningsbevis()
        {
            InitializeComponent();
            if (MyVars.ParmYes == "AUTO")
            {
                this.timer1.Enabled  = true;
                this.timer1.Interval = 5000;
                this.timer1.Tick    += new System.EventHandler(this.timer1_Tick);
            }
            Medlem = new Medlemskab("");
            string skabelonPath     = Properties.Settings.Default.Common_SkabelonSti;
            string skabelonOriginal = Properties.Settings.Default.Opskrivningsbevis_SkabelonNavn;
            string outputFolderOld  = Properties.Settings.Default.Opskrivningsbevis_FolderOld;
            string dt = DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.ToString("HHmmss");

            PgmLog     = Properties.Settings.Default.Opskrivningsbevis_ErrorLog + dt + ".Log";
            PgmLogSys  = "C:\\FletOffice\\ProgramError_Opskriv_SysLog_" + dt + ".Log";
            PgmLogTest = "C:\\FletOffice\\ProgramError_Opskriv_TestLog_" + dt + ".Log";

            if (Directory.Exists(outputFolderOld))
            {
                System.IO.Directory.Delete(outputFolderOld, true);
            }
            System.IO.Directory.Move(outputFolderPath, outputFolderOld);
            System.IO.Directory.CreateDirectory(outputFolderPath);

            Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();

            int cnt = 0;

            foreach (Medlem oMedlemsData in Medlem.AlleMedl)      //her løbes alle dagens nye betalende medlemmer
            {
                //her behandles medlemsdata
                Document skabelon = application.Documents.Open(skabelonPath + skabelonOriginal);
                application.Visible = false;
                if (gemMedl != oMedlemsData.MedlemsNr && bookSave != "" && gemMedl != "")
                {
                    //Her behandles multiline bogmærker, PDF generering, Email afsendelse og journalisering til Gobolig
                    BehandlMedlem(skabelon, gemMedl);

                    Document document = application.Documents.Open(skabelonPath + skabelonOriginal);
                    application.Visible = false;

                    // clone the doc object.
                    skabelon = document;
                }
                else
                {
                    if (gemMedl != oMedlemsData.MedlemsNr && bookSave == "" && gemMedl != "")
                    {
                        if (bonus_Sel == true)
                        {
                            fejlTekst = ", som er en tilføjelse af bonusselskab og derfor ikke skal have tilsendt et opskrivningsbevis.";
                        }
                        else
                        {
                            fejlTekst = ", som kun er medlem af selskab 99 og derfor ikke får et opskrivningsbevis tilsendt.";
                        }
                        textBox1.Text += "Nu har vi behandlet medlem nr.: " + gemMedl + fejlTekst + Environment.NewLine;
                        LogText        = "Nu har vi behandlet medlem nr.: " + gemMedl + fejlTekst;
                        File.AppendAllText(PgmLog, LogText + Environment.NewLine);
                        MyVars.Selopdat = "";
                        // her skal Word dokument slettes og hoppes videre til næste medlem.
                        ((_Document)skabelon).Close(WdSaveOptions.wdDoNotSaveChanges);   //her lukkes skabelonen
                        //File.AppendAllText(PgmLogTest, "Skabelon lukkes og ny åbnes..." + Environment.NewLine);
                        Document document = application.Documents.Open(skabelonPath + skabelonOriginal);
                        application.Visible = false;

                        // clone the doc object.
                        skabelon = document;
                    }
                }
                //her hentes selskabsdata
                SelNavn = "";
                UdtrSelOpl(oMedlemsData.ListeMedlemskab);

                //her hentes interessentdata
                UdtrIntOpl(oMedlemsData.MedlemsNr, KontorNavn);

                //her hentes interessentdata for kolofon
                UdtrKolOpl(oMedlemsData.MedlemsNr, "Hovedkontoret");

                //her loopes igennem alle bookmarks i dokumentet.
                OpdaterBookmark(skabelon, oMedlemsData.MedlemsNr, oMedlemsData.ListeMedlemskab, oMedlemsData.DatoOpnot, oMedlemsData.Status);
                cnt++;

                gemMedl = oMedlemsData.MedlemsNr;
                if (cnt == Medlem.AntalMedl)                // her behandles sidste medlem i SQL udtrækket færdigt
                {
                    //Her behandles multiline bogmærker, PDF generering, Email afsendelse, journalisering til Gobolig og lukning af skabelon.
                    BehandlMedlem(skabelon, gemMedl);
                }
                MyVars.InsertOk = false;
            }
            //Her afsluttes programmet.....
            string Server       = Properties.Settings.Default.Common_MonitorServerNavn;
            string Job          = Properties.Settings.Default.Opskrivningsbevis_MonitorJobNavn;
            string ServerGruppe = Properties.Settings.Default.Common_MonitorGruppeNavnGO;
            string Tekst        = "";
            int    Alarm        = Properties.Settings.Default.Common_MonitorAlarmVærdiOK;
            int    antMailSendt = MedlCnt - FejlCnt;

            if (File.Exists(PgmLogSys))
            {
                MyVars.emailSubj = "Systemfejllog for Opskrivningsbreve";
                MyVars.emailBody = "Dette er en fejllog som viser system relaterede fejl ved kørsel af opskrivningsbreve. " + Environment.NewLine + "Se vedhæftede log for detaljer";
                SendEmail EmailObj = new SendEmail("", "", "*****@*****.**", PgmLogSys, "*****@*****.**", "");
            }

            if (File.Exists(PgmLogTest))
            {
                MyVars.emailSubj = "Testlog for Opskrivningsbevis";
                MyVars.emailBody = "Dette er en testlog som anvendes ved test af Opskrivningsbevis. " + Environment.NewLine + "Se vedhæftede log for detaljer";
                SendEmail EmailObj = new SendEmail("", "", "*****@*****.**", PgmLogTest, "*****@*****.**", "");
            }

            if (File.Exists(PgmLog))
            {
                string afs  = Properties.Settings.Default.Common_EmailAfsFejl;
                string modt = Properties.Settings.Default.Common_EmailEGModtLog;

                if (FejlCnt > 0)
                {
                    MyVars.emailSubj = Properties.Settings.Default.Opskrivningsbevis_EmailSubjFejl;
                    MyVars.emailBody = Properties.Settings.Default.Common_EmailBodyFejl + " (Opskrivningsbevis) " + Environment.NewLine + "Se vedhæftede log for detaljer";
                    Tekst            = Properties.Settings.Default.Common_MonitorTekstFejl + FejlCnt + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt;
                    Alarm            = Properties.Settings.Default.Common_MonitorAlarmVærdiFejl;
                }
                else
                {
                    MyVars.emailBody = Properties.Settings.Default.Common_EmailBodyOk + " (Opskrivningsbevis) " + Environment.NewLine + "Se vedhæftede log for detaljer";
                    MyVars.emailSubj = "Opskrivningsbevis: " + Properties.Settings.Default.Common_EmailSubjOk;
                    Tekst            = Properties.Settings.Default.Common_MonitorTekstOK + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt;
                }
                LogText = Tekst;
                File.AppendAllText(PgmLog, LogText + Environment.NewLine);

                SendEmail EmailObj = new SendEmail("", "", afs, PgmLog, modt, "");
            }
            else
            {
                Tekst = Properties.Settings.Default.Common_MonitorTekstOK + ". " + Properties.Settings.Default.Common_MonitorTekst + antMailSendt;
            }

            if (MedlCnt == 0)
            {
                textBox1.Text += Properties.Settings.Default.Opskrivningsbeviser_SlutTekstIngen + Environment.NewLine;
                Tekst          = Properties.Settings.Default.Opskrivningsbeviser_SlutTekstIngen + Environment.NewLine;
            }

            MonitorAdd MonitorAddGO = new MonitorAdd(Server, Job, Tekst, Alarm, ServerGruppe);

            ServerGruppe = Properties.Settings.Default.Common_MonitorGruppeNavnEG;
            MonitorAdd MonitorAddEG = new MonitorAdd(Server, Job, Tekst, Alarm, ServerGruppe);

            // Close word.
            ((_Application)application).Quit();                                  //her lukkes Word applicationen
        }
        //Herunder følger alle funktionerne som kaldes fra hovedprogrammet
        public void BehandlMedlem(Document skabelon, string MedlemsNr)
        {
            //her opdateres multiline bogmærkerne
            SkrivBookmark(skabelon, bookSave);

            textBox1.Text += Properties.Settings.Default.Common_SlutTekst + gemMedl + ". (INT-" + IntNr.PadLeft(8, '0') + ")" + Environment.NewLine;

            //her konverteres dokumentet til PDF
            FilePDF = @outputFolderPath + "\\OpskrivningsBevis_MedlemNr_" + gemMedl + ".pdf";
            PDF PDFObj = new PDF(skabelon, FilePDF);

            //her vedhæftes det udfyldte PDF dokument til en email og derefter slettes det og mail sendes, herefter genoptages loop (break)
            UdtrKolOpl(gemMedl, LokalBy);          //her hentes afdelingskontors email adresse (til afsender)
            if (AfdKontorEmail == "" || AfdKontorEmail.IndexOf("Afdelingskontoret") == -1)
            {
                AfdKontorEmail = AfdMail;
            }
            string    Kategori = "0002009999";
            SendEmail EmailObj = new SendEmail(gemMedl, IntNavn, AfdKontorEmail, FilePDF, emailModt, Kategori);

            if (MyVars.EmailSendtOK == false)
            {
                string gemEmailBody = MyVars.emailBody;
                if (MyVars.MailFejltekst != "")
                {
                    LogText = "System fejl opstået ved send af e-mail til medlem " + gemMedl + " på følgende Email adresse (" + emailModt + ")." + Environment.NewLine + "Fejltekst: " + MyVars.MailFejltekst;
                    File.AppendAllText(PgmLogSys, LogText);
                    FejlCnt++;
                }
                else
                {
                    textBox1.Text += Properties.Settings.Default.Common_EmailEjLev + " 099-" + gemMedl + ". Email adresse (" + emailModt + ") er ikke gyldig. " + Environment.NewLine;
                    if (emailModt != "")
                    {
                        LogText = Properties.Settings.Default.Common_EmailEjLev + gemMedl + ". Email adresse (" + emailModt + ") er ikke gyldig." + Environment.NewLine;
                    }
                    else
                    {
                        LogText = Properties.Settings.Default.Common_EmailIngen + " " + IntNavn + " (99-" + gemMedl + "). Opskrivningsbevis sendt til printer.";
                    }

                    File.AppendAllText(PgmLog, LogText + Environment.NewLine);

                    //Hvis e-mail ikke kunne sendes til medlem, sendes vedhæftede PDF dokument til default printer
                    PDFPrint.PrintPDFs(FilePDF);

                    FejlCnt++;
                }
            }
            else
            {
                int count = MedlCnt + 1;
                LogText = count + ". Opskrivningsbevis sendt ok på e-mail til medlem: " + IntNavn + " (99-" + gemMedl + ") på denne e-mail adresse: " + emailModt + Environment.NewLine;
                File.AppendAllText(PgmLog, LogText);
            }

            //her tjekkes om interessent allerede findes i Gobolig
            int Iintval  = 30;
            int Iantloop = 6 * Iintval;
            int Isleep   = Iintval * 1000;
            int ICnt     = 0;

            while (IntGobUrl == "" && ICnt < Iantloop)
            {
                //her indsættes interessent oprettelses entry ind i ESDHMJFejl tabellen
                if (MyVars.InsertOk == false)
                {
                    int           IntNummer      = Convert.ToInt32(IntNr);
                    string        PersId         = "INT|||kism¤INSERT¤" + IntNummer;
                    ESDHMJFejlAdd oESDHMJFejlAdd = new ESDHMJFejlAdd(IntNummer, PersId);
                }

                System.Threading.Thread.Sleep(Isleep);       //vent 30 sekunder og tjek herefter om interessent er oprettet (max 6 gange=2 min.)
                UdtrIntOpl(MedlemsNr, KontorNavn);

                ICnt = ICnt + Iintval;
            }

            //her journaliseres dokument til Gobolig
            if (IntGobUrl != "")                            //journalisering sker hvis der findes en gobUrl for interessenten
            {
                Gobolig GoboligObj = new Gobolig(IntGobUrl, FilePDF, GoBib);
                if (MyVars.GoJournalOk == false)
                {
                    textBox1.Text += Properties.Settings.Default.Common_GoboligJourFejl + gemMedl + Environment.NewLine;
                    LogText        = Properties.Settings.Default.Common_GoboligJourFejl + gemMedl;
                    File.AppendAllText(PgmLog, LogText + Environment.NewLine);
                    FejlCnt++;
                }
            }
            else
            {
                textBox1.Text += Properties.Settings.Default.Common_GoboligJourFejl + gemMedl + " fordi interessentnr = INT-"
                                 + IntNr.PadLeft(8, '0') + " ikke findes i Gobolig på journaliseringstidspunktet." + Environment.NewLine;
                LogText = Properties.Settings.Default.Common_GoboligJourFejl + gemMedl + " fordi interessentnr = INT-"
                          + IntNr.PadLeft(8, '0') + " ikke findes i Gobolig på journaliseringstidspunktet.";
                File.AppendAllText(PgmLog, LogText + Environment.NewLine);
                FejlCnt++;
            }

            //her lukkes skabelonen
            //File.AppendAllText(PgmLogTest, "Skabelon lukkes herefter.." + Environment.NewLine);
            ((_Document)skabelon).Close(WdSaveOptions.wdDoNotSaveChanges);   //her lukkes skabelonen
            MedlCnt++;
            gemMedl    = "";
            gemSelskab = "";
            bookSave   = "";
        }