Software & Apps

Software und Apps sind aus unserem Alltag nicht mehr wegzudenken; von Musik- und Videobearbeitung, Antiviren-Tools, VPN-Clients bis hin zu Office und gewissen Alternativen - hier dreht sich alles um Software & Apps für Deinen PC.
67.455 Beiträge
C# / Outlook: Wieso werden die Daten nicht gefunden?

Hallo,

ich schreibe gerade für unsere Firma eine Workbench.

Hier sollen unter anderem auf dem Dashboard verschiedene Daten von Outlook aus dem Outlook-Kalender angezeigt werden. So soll er Daten aus (Termine, Feiertage in Deutschland, Urlaub und Geburtstage_MS) anzeigen.

Leider funktioniert das nicht, bzw. er findet die Daten nicht.

Hier mein Code zum Abgreifen der Outlook-Daten:

using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.Office.Interop.Outlook;

namespace LoginApp.Services
{
    public class clsOutlookService
    {
        public DataTable GetAllCalendarItems()
        {
            Application oApp = null;
            NameSpace mapiNamespace = null;
            oApp = new Application();
            mapiNamespace = oApp.GetNamespace("MAPI");

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Subject", typeof(string)));
            dt.Columns.Add(new DataColumn("Start", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("End", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("Category", typeof(string)));

            // Get default calendar
            MAPIFolder calendarFolder = mapiNamespace.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
            FetchCalendarItems(calendarFolder.Items, dt, "Termine");

            // Get Feiertage in Deutschland
            MAPIFolder holidaysFolder = GetFolderByName(mapiNamespace, "Feiertage in Deutschland");
            if (holidaysFolder != null)
            {
                FetchCalendarItems(holidaysFolder.Items, dt, "Feiertage");
            }

            // Get Urlaub
            MAPIFolder vacationFolder = GetFolderByName(mapiNamespace, "Urlaub");
            if (vacationFolder != null)
            {
                FetchCalendarItems(vacationFolder.Items, dt, "Urlaub");
            }

            // Get Geburtstage_MS
            MAPIFolder birthdaysFolder = GetFolderByName(mapiNamespace, "Geburtstage_MS");
            if (birthdaysFolder != null)
            {
                FetchCalendarItems(birthdaysFolder.Items, dt, "Geburtstage");
            }

            // Debug-Ausgabe
            foreach (DataRow row in dt.Rows)
            {
                Console.WriteLine($"{row["Category"]}: {row["Subject"]} von {row["Start"]} bis {row["End"]}");
            }

            return dt;
        }

        private MAPIFolder GetFolderByName(NameSpace mapiNamespace, string folderName)
        {
            foreach (MAPIFolder folder in mapiNamespace.Folders)
            {
                if (folder.Name == folderName)
                {
                    return folder;
                }
            }

            return null;
        }

        private void FetchCalendarItems(Items calendarItems, DataTable dt, string category)
        {
            calendarItems.IncludeRecurrences = true;
            DateTime startOfWeek = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek);
            DateTime endOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month));

            foreach (AppointmentItem item in calendarItems)
            {
                if (item.Start >= startOfWeek && item.End <= endOfMonth)
                {
                    DataRow row = dt.NewRow();
                    row["Subject"] = item.Subject;
                    row["Start"] = item.Start;
                    row["End"] = item.End;
                    row["Category"] = category;
                    dt.Rows.Add(row);
                }
            }
        }
    }
}

Erkennt jemand den Fehler?

Chatgpt Tampermonkeyscript auto "generieren fortsetzen"?

Hallo , würde gerne ein Tampermonkey script erstellen das automatisch bei chatgpt "Generieren fortsetzen" drückt sobald es erscheint.

Mein Script funktioniert nicht jemand eine Idee wie man das umsetzen kann?

// ==UserScript==
// @name         Auto Click "Generieren fortsetzen" in ChatGPT
// @namespace    http://tampermonkey.net/
// @version      1.4
// @description  Automatically click the "Generieren fortsetzen" button in ChatGPT
// @author       Elias Hoffmann
// @match        https://chat.openai.com/*
// @match        https://chatgpt.com/*
// @grant        none
// ==/UserScript==


(function() {
    'use strict';


    // Function to click the "Generieren fortsetzen" button
    function clickContinueButton() {
        const buttonSelectors = [
            'button:contains("Generieren fortsetzen")',
            'button:contains("Continue generating")'
        ];


        buttonSelectors.forEach(selector => {
            const button = document.querySelector(selector);
            if (button) {
                button.click();
                console.log('Clicked "Generieren fortsetzen" button');
            }
        });
    }


    // Improved MutationObserver to detect changes in the DOM and click the button if it appears
    const observer = new MutationObserver((mutations) => {
        mutations.forEach(mutation => {
            if (mutation.addedNodes && mutation.addedNodes.length > 0) {
                clickContinueButton();
            }
        });
    });


    // Start observing the document body for added nodes
    observer.observe(document.body, { childList: true, subtree: true });


    
    setInterval(clickContinueButton, 1000);
})();

EDIT//

Nevermind es gibt schon weit aus besser und größere Entwickelte Scripts dafür auf github ! Brauche keine Hilfe mehr Für alle die selber suchen: https://greasyfork.org/de/scripts/466789-chatgpt-auto-continue#

Ask Me Anything: Blickwechsel

Du stellst die Fragen, ein außergewöhnlicher Nutzer antwortet! Begegne mit Deinen Fragen anderen Menschen hautnah und persönlich.

Ask Me Anything: Themenspecials

Im gutefrage Themenspecial beantworten Verbände, Organisationen und Personen des öffentlichen Lebens Deine Fragen zu aktuellen Themen.