Проблемы с выгрузкой информации в Excel

Тема в разделе "Lotus - Программирование", создана пользователем SkyRanger, 21 мар 2007.

  1. SkyRanger

    SkyRanger Active Member

    Регистрация:
    17 мар 2007
    Сообщения:
    44
    Симпатии:
    0
    Есть вьюха
    первое поле - номер во вьюхе
    остальные поля с данными текстовыми и одно поле многострочное.

    Выгружаю все это щастье в excel:

    Код (Text):
    Sub Click(Source As Button)
    Dim WS As New NotesUIWorkspace 
    Set session = New NotesSession
    Set db=session.CurrentDatabase

    Print "Report being creating!!!"

    Set UiView=WS.CurrentView
    ViewString=UiView.ViewName

    Set v=db.GetView(ViewString)

    Set xl = CreateObject("Excel.Application")
    Set xlWbk = xl.Workbooks.Add("C:\Documents and Settings\User\Application Data\Microsoft\Шаблоны\REP_OBRASH_1.xlt")

    xlWbk.ActiveSheet.Rows("8:8").Select


    row=8

    Set docX=v.GetFirstDocument
    While Not docX Is Nothing
    col=1
    Forall cValue In docX.ColumnValues
    xlWbk.ActiveSheet.Cells(row, col)=cValue
    xlWbk.ActiveSheet.Cells(row, col).Borders.LineStyle = 1
    col=col+1          
    End Forall
    row=row+1
    xlWbk.ActiveSheet.Rows(row).Insert
    Set docX=v.GetNextDocument(docX)
    Wend

    xlWbk.ActiveSheet.Cells(row, 1)="Всего"
    xlWbk.ActiveSheet.Cells(row, 1).Borders.LineStyle = 1
    xlWbk.ActiveSheet.Range("A8").Borders.LineStyle = 1

    xlWbk.ActiveSheet.Range("A7").Select

    xl.Visible=True

    End Sub
    Первый столбец выгружется вместо циферь крякозябры и многострочное поле с квадратиком в конце каждой строки. Использование @Text() не помогает.

    Что я делаю не так???

    И еще

    xlWbk.ActiveSheet.Range("А"+Str(row)+":"+"E"+Str(row)).Borders.LineStyle = 1

    почему тут ошибку дает??? Если указывать конкретно все работает, а выражением - отказывается :)
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    1. Почему не используете NotesViewEntryCollection class
    2. xlWbk.ActiveSheet.Range("А"+Str(row)+":"+"E"+Str(row )).Borders.LineStyle = 1 - пачему в обоих случаях row... имхо чтото не то
    3. Про краказяблы.... посмотрите в дэбагере , что вы вообще туда передаёте ( что у Вас есть cValue - может массив)
    4. Квадратики в конце строки - логичиские Enter( chr(10) ) ... атк как в ячейку экселя низя записать ни табулятор ни энтер( #10 ) , то и не пользуйтесь ими( на всякий случай используйте Trim или это )
    5. Насчет полей , вот моя процедура рисования границ
    Код (Text):
    Sub ShCreateTable(sh As Variant, S1 As Long, K1 As Integer, S2 As Long, K2 As Long)  ' Рисование таблицы     
    sh.Range(sh.Cells(S1,K1), sh.Cells(S2, K2)).Borders(1).Weight = 2 ' левый   
    sh.Range(sh.Cells(S1,K1), sh.Cells(S2, K2)).Borders(2).Weight = 2 ' правый     
    sh.Range(sh.Cells(S1,K1), sh.Cells(S2, K2)).Borders(3).Weight = 2 ' верхний   
    sh.Range(sh.Cells(S1,K1), sh.Cells(S2, K2)).Borders(4).Weight = 2 ' нижний
    End Sub
     
  3. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Для: SkyRanger

    Незнаю может ошибусь, но попробуй использовать не docX.ColumnValues, а пропиши для каждого поля:
    xlWbk.ActiveSheet.Cells(row, col)= docX.имя_поля(0)
    по крайней мере у меня токой подход работает.

    Хотя если у тебя во вьюхе отображены все поля которые нужны для выгрузки проще использовать NotesViewNavigator : http://notesnet.ru/nn/notesnet.nsf/note/C0...3256F58004AA385

    ИМХО...

    з.ы. упс, практически в одно время ответили
     
  4. SkyRanger

    SkyRanger Active Member

    Регистрация:
    17 мар 2007
    Сообщения:
    44
    Симпатии:
    0
    С крякозябрами разобрался, оказывается если включить Total, то он и выводит какой то бред в каждой строке в этом столбце :D Если выключить то столбец вообще не выводится...

    У меня столбец первый - номер по порядку во вьюхе - автоматический.
     
  5. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--QuoteBegin-SkyRanger+22:03:2007, 03:30 -->
    <span class="vbquote">(SkyRanger @ 22:03:2007, 03:30 )</span><!--QuoteEBegin-->Если выключить то столбец вообще не выводится...
    [snapback]59781" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    где не выводится?
     
  6. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    @DocNumber и ряд других функци не возвращается через ColumnValues ,
    в хелпе об этом написано:
    вместо значений возвращается что-то типа @A0 и т.п
     
Загрузка...
Похожие Темы - Проблемы выгрузкой информации
  1. JohnLemon
    Ответов:
    13
    Просмотров:
    1.176
  2. aliaksandr89
    Ответов:
    3
    Просмотров:
    123
  3. Amfion
    Ответов:
    5
    Просмотров:
    120
  4. wowa
    Ответов:
    7
    Просмотров:
    378
  5. John_Tavarez
    Ответов:
    0
    Просмотров:
    335

Поделиться этой страницей