Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выбрать лист книги Excel и вписать формулу / 8 сообщений из 8, страница 1 из 1
14.01.2016, 18:12
    #39147633
fury_fury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Нужно добавить в диапазон А2:А5 к указанному тексту текст формулы ГИПЕРССЫЛКА
Но метод хоть и выполняется но ГИПЕРССЫЛКА не добавляется в ячейки указанного диапазона
Что нужно исправить?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
class Program
    {
        static string attfile = @"C:\Users\a.kravchenko.AYS\Desktop\123.xlsx";
        static Excel.Application excelApp = new Excel.Application();
        static Excel.Workbook excelBook;

        static void Main(string[] args)
        {
            exceling();
        }

        static void exceling()
        {
            excelApp.Visible = false;
            excelBook = excelApp.Workbooks.Open(attfile);
            Hyperlnking();
            excelBook.Save();
            excelBook.Close(0);
            excelApp.Quit();

        }

        public static void Hyperlnking()
        {  
            try
            {
                foreach (Excel.Range objC in excelBook.Sheets[1].Range("A2:A5"))
                {
                    if (objC.Value == null) continue;
                    objC.FormulaLocal = "=ГИПЕРССЫЛКА(" + objC.Value + ")";
                }
            }
            catch (Exception ex) { }

        }
    }

...
Рейтинг: 0 / 0
14.01.2016, 19:29
    #39147694
fury_fury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Вот ошибка если убрать try catch
...
Рейтинг: 0 / 0
14.01.2016, 19:36
    #39147703
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Запусти в экселе макрорекордер. Вставь гиперссылку руками. Останови макрорекордер и посмотри макрос что он записал.
Уверен на 99% что там вместо "=ГИПЕРССЫЛКА(" будет что-то типа "=HIPERLINK(".
Писать надо как там.
...
Рейтинг: 0 / 0
14.01.2016, 21:17
    #39147751
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
в русском экселе можно и через FormulaLocal

А ошибка в том, что автор забыл кавычки вокруг URL-а
...
Рейтинг: 0 / 0
14.01.2016, 21:33
    #39147757
fury_fury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Dima T, так и есть
Вот код с макрорекордера:
Код: vbnet
1.
"=HYPERLINK(""http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793"",""http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793"")"



Пишу по аналогии на C#:
Код: c#
1.
2.
if (objC.Value == null) continue;
                    objC.FormulaLocal = @"=HYPERLINK(""http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793"",""http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793"")";



Код: c#
1.
2.
 if (objC.Value == null) continue;
                    objC.FormulaLocal = "=HYPERLINK(\"http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793\",\"http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793\")";



Такая же ошибка, а вот если указать так:
Код: c#
1.
2.
if (objC.Value == null) continue;
                    objC.FormulaLocal = "=HYPERLINK(";


то в ячейке записывается "=HYPERLINK()" (закрывающая скобка проставляется наверное автоматом в екселе

Помогите пожалуйста с кавычками разобраться
...
Рейтинг: 0 / 0
14.01.2016, 21:45
    #39147763
fury_fury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Эта часть кода выполняется правильно:
Код: c#
1.
objC.FormulaLocal = "=ГИПЕРССЫЛКА(\"http://www.cyberforum.ru/csharp-beginners/thread1629577.html#post8568793\")";


Но мне нужно списать objC.Value
Пробую так:
Код: c#
1.
objC.FormulaLocal = "=ГИПЕРССЫЛКА(\"" +objC.Value + "\",\"Ссылка\")";


Ошибка
...
Рейтинг: 0 / 0
14.01.2016, 22:54
    #39147798
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Ну тогда уже не запятая, а точка с запятой между аргументами
...
Рейтинг: 0 / 0
15.01.2016, 00:49
    #39147831
fury_fury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать лист книги Excel и вписать формулу
Shocker.Pro, эх, точно..
Спасибо за помощь
Работает как нужно
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выбрать лист книги Excel и вписать формулу / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]