Exemple #1
0
        }         // func RefreshTableAsync

        internal async Task RefreshTableAsync(Excel.ListObject _xlList, bool refreshLayout)
        {
            using (var progress = CreateProgress())
            {
                var xlList = Globals.Factory.GetVstoObject(_xlList);

                progress.Report(String.Format("Aktualisiere {0}...", xlList.Name ?? "Tabelle"));

                if (PpsListObject.TryGet(FindEnvironment, xlList, out var ppsList))
                {
                    await ppsList.RefreshAsync(refreshLayout?PpsXlRefreshList.Style : PpsXlRefreshList.None, PpsMenu.IsSingleLineModeToggle(), null);
                }
                else
                {
                    //if (refreshColumnLayout)
                    //	;

                    switch (xlList.SourceType)
                    {
                    case Excel.XlListObjectSourceType.xlSrcQuery:
                    case Excel.XlListObjectSourceType.xlSrcXml:
                        try
                        {
                            xlList.Refresh();
                        }
                        catch (COMException)
                        { }
                        break;
                    }
                }
            }
        }         // func RefreshTableAsync
Exemple #2
0
        }         // proc InsertReport

        private static void InsertTable()
        {
            if (PpsListObject.TryGetFromSelection(out var ppsList))             // edit the current selected table
            {
                ppsList.Edit();
            }
            else                                                // create a fresh table
            {
                var env = Globals.ThisAddIn.CurrentEnvironment; // get environment
                if (env != null)
                {
                    PpsListObject.New(env, GetTopLeftCell());
                }
            }
        }         // proc InsertTable
Exemple #3
0
        }         // func GetActiveXlObjects

        /// <summary>Create Table</summary>
        /// <param name="environment"></param>
        /// <param name="range"></param>
        /// <param name="reportId"></param>
        /// <param name="reportName"></param>
        internal async Task ImportTableAsync(PpsEnvironment environment, Excel.Range range, string reportId, string reportName)
        {
            GetActiveXlObjects(out var worksheet, out var workbook);

            // prepare target
            if (range == null)
            {
                range = Globals.ThisAddIn.Application.Selection;
            }
            if (range is null)
            {
                throw new ExcelException("Keine Tabellen-Ziel (Range) definiert.");
            }
            if (range.ListObject != null)
            {
                throw new ExcelException("Tabelle darf nicht innerhalb einer anderen Tabelle eingefügt werden.");
            }

            using (var progress = CreateProgress())
            {
                progress.Report(String.Format("Importiere '{0}'...", reportName));
                await PpsListObject.NewAsync(environment, range, reportId);
            }
        }         // func ImportTableAsync