private void ButtonGetAllplaylists_Click(object sender, EventArgs e)
        {
            string temp;

            labelCurrentPlaylist.Visible = true;
            labelCurrentPlaylist.Text    = "Waiting for user's data...";

            if (!ExcelHandling.ObtainExcelFile())
            {
                ExitForm();
            }

            listBoxPlaylists.Items.Clear();

            string channelID = textBoxChannelID.Text;

            YouTubePlaylist[] playLists = YouTubeAPI.GetPlaylists(channelID);

            playLists = playLists.OrderBy(c => c.title).ToArray();
            for (int i = 0; i < playLists.Length; i++)
            {
                listBoxPlaylists.Items.Add((i + 1).ToString() + ": " + playLists[i].title);
            }

            progressBarDownloadRate.Maximum = playLists.Length - 1;
            progressBarDownloadRate.Minimum = 0;
            progressBarDownloadRate.Step    = 1;
            for (int i = 0; i < playLists.Length; i++)
            {
                temp = listBoxPlaylists.Items[i].ToString() + " - SAVED";
                GetPlaylistData(playLists[i]);
                progressBarDownloadRate.Value = i;
                listBoxPlaylists.Items[i]     = temp;
            }

            if (myMissingVideos.Count() == 0)
            {
                MessageBox.Show("No missing videos at all playlists");
                ExcelHandling.CloseFile();
            }
            else
            {
                ExcelHandling.SaveMissingVideos(myMissingVideos);
                myMissingVideos.Clear();
                MessageBox.Show("Process finished successfully.\n" +
                                "A list of the Missing videos from all playlists appear at the last worksheet of the file");
            }
        }
        public void GetPlaylistData(YouTubePlaylist myPlaylist)
        {
            YouTubeVideo[] videos = YouTubeAPI.GetPlaylist(myPlaylist.id);                                 // lists all titles of videos of a playlist (via each video ID)
            string         missingVideoTitle;

            for (int i = 0; i < videos.Length; i++)
            {
                if (videos[i].title == null)
                {
                    missingVideoTitle = ExcelHandling.SearchMissingVideo(i + 1, myPlaylist.title, videos.Length);
                    MissingVideo missingVideo = new MissingVideo((i + 1).ToString() + ": " + missingVideoTitle, myPlaylist.title);
                    myMissingVideos.Add(missingVideo);
                }
            }

            labelCurrentPlaylist.Visible = true;
            labelCurrentPlaylist.Text    = "Currently Processing: " + myPlaylist.title;
            ExcelHandling.SaveCurrentPlaylistToSheet(myPlaylist.title, videos);
            labelCurrentPlaylist.Visible = false;
        }