Как разработчик, какие изменения или установки, Вы вносите в ванильной системе OS X?

Для того, чтобы заставить это работать, был необходим ряд корректировок:

  1. On Error Resume Next был удален. Это никогда не должно использоваться для всего макроса - все, что он будет делать, это скрывать ошибки, которые сообщат вам, что происходит не так. Если ошибки происходят регулярно, то нужно что-то исправлять! Это может быть использовано в особых случаях, но обработка ошибок должна быть снова включена. Я не вижу особого случая в этом коде.

  2. Как Word, так и Excel используют Range, поэтому важно указать , что означает диапазон . Это также важно в Excel, в одиночку. Опираясь на VBA , угадать , в каком листе находится диапазон, может привести к неожиданным результатам. По этой причине объект Worksheet объявляется и создается для активной рабочей таблицы. Этот объект - ws - затем используется во всем коде для четкой идентификации всех Range объектов в Excel.

  3. Поскольку заголовки столбцов в Excel нужно писать только один раз, этот код был перемещен из цикла. Кроме того, первый столбец не помечен на предоставленном вами снимке экрана (REQ). Поэтому метки должны начинаться со столбца B, а не со столбца A - соответственно, эти координаты диапазона были изменены.

  4. Всегда сложно работать с таблицами Word, в которых есть объединенные ячейки (первый столбец на снимке экрана). Таким образом, код для получения REQ перемещен за пределы цикла ячейки таблицы и явно ссылается на строку 1, столбец 1.

  5. Остальная часть данных, подлежащих передаче, находится только в столбце 3, поэтому нет необходимости циклически обрабатывать столбцы, только строки. Спецификатор столбца для диапазона Excel был изменен для использования irow + 1, поскольку это дает правильный результат.

  6. Cell() method in Word is: .Cell (rowIndex, colIndex) `- параметры меняются местами в коде, размещенном в вопросе.

Следующий код работает для меня в моих тестах:

Option Explicit

Sub ImportWordTable()
    Dim wdDoc As Object
    Dim wdFileName As Variant
    Dim tableNo As Integer 'table number in Word
    Dim iRow As Long 'row index in Excel
    Dim iCol As Integer 'column index in Excel
    Dim resultRow As Long
    Dim resultCol As Long
    Dim tableStart As Integer
    Dim tableTot As Integer
    Dim ws As Worksheet

    'On Error Resume Next

    Set ws = ActiveSheet
    ws.Range("A:AZ").ClearContents

    wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , _
    "Browse for file containing table to be imported")
    If wdFileName = False Then Exit Sub '(user cancelled import file browser)

    Set wdDoc = GetObject(wdFileName) 'open Word file

    With wdDoc
        tableNo = wdDoc.Tables.Count
        tableTot = wdDoc.Tables.Count
        If tableNo = 0 Then
            MsgBox "This document contains no tables", _
            vbExclamation, "Import Word Table"
        ElseIf tableNo > 1 Then
            tableNo = InputBox("This Word document contains " & tableNo & " tables." & vbCrLf & _
            "Enter the table to start from", "Import Word Table", "1")
        End If
        resultRow = 2
        With ws
            .Range("B1") = "Description"
            .Range("B1").Font.Bold = True
            .Range("C1") = "Source"
            .Range("C1").Font.Bold = True
            .Range("D1") = "Rationale"
            .Range("D1").Font.Bold = True
        End With
        For tableStart = tableNo To tableTot
            With .Tables(tableStart)
                'copy cell contents from Word table cells to Excel cells
                '''REQ
                ws.Cells(resultRow, 1) = WorksheetFunction.Clean(.Cell(1, 1).Range.Text)
                For iRow = 1 To .Rows.Count
                    'For iCol = 1 To .Columns.Count
                     ws.Cells(resultRow, iRow + 1) = WorksheetFunction.Clean(.Cell(iRow, 3).Range.Text)
                    'Next iCol
                    resultRow = resultRow
                Next iRow
            End With
            resultRow = resultRow + 1
        Next tableStart
    End With
End Sub
10
задан Community 23 May 2017 в 12:08
поделиться

9 ответов

Вот некоторые, я использую, которые не были упомянуты до сих пор:

Конфигурация системы

Полезные значения по умолчанию

Другое программное обеспечение

  • (Свободный) HardwareGrowler
    • Настроенный с Внешней панелью не разрабатывают значок панелей (см. выше ссылки для инструкций). Я люблю эту небольшую утилиту.
  • (Свободный) AntiRSI
    • Сохраняет Вас от себя.
  • (Свободный) OpenTerminalHere
    • Большое мини-приложение, которое открывает Terminal в каталоге текущего окна Finder.
  • (Свободный) MacVim
    • Мой любимый редактор общего назначения.
  • (коммерческий) xScope
    • Большой инструмент для любого вида работы UI.

Конфигурация XCode

  • Продукты сборки места в ~/Build
    • Сохраняет все в одном легком cleanable месте и заставляет зависимости межпроекта работать.
    • Дополнительно вставьте Промежуточные Файлы типа "build" ~/Build/_Intermediate сохранять это еще более опрятным.
  • Проверьте, 'Автоматически вставляют закрытие "}"', если это уже не
  • Название организации набора
    • defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME = "Yoyodyne Industries";}'
  • Завершение кода (я думаю, что они были значениями по умолчанию в более ранних версиях),
    • Проверьте 'Шоу arguements в раскрывающийся список'.
    • Проверьте, 'Вставляют заполнителей аргумента для завершений'.
    • Выберите, 'Автоматически Предложите: С Задержкой 0,50 секунды
4
ответ дан 3 December 2019 в 23:15
поделиться

Добавьте слово, левое и правое в Terminal.app:

http://blog.macromates.com/2006/word-movement-in-terminal/

2
ответ дан 3 December 2019 в 23:15
поделиться

Я устанавливаю PostgreSQL и Eclipse, хорошо я сделал на своей предыдущей работе, где мы использовали Mac.

Затем я удалил все ненужные значки из Прикрепления и поместил мои работы там и Терминал.

Я также установил Страницы, это - хороший редактор документа для использования документации.

0
ответ дан 3 December 2019 в 23:15
поделиться

Установите XCode, iPhone SDK, TextMate.

Добавьте Терминал, XCode, TextMate к прикреплению.

Удалите iMovie, iDVD... значки от прикрепления.

2
ответ дан 3 December 2019 в 23:15
поделиться

Если Вы приезжаете, имеют фон Linux MacPorts (хинду как), или Fink (склонный - добираются как), необходимы. Вы cal устанавливают все знакомые утилиты точно так же, как Вы были бы на нормальной машине Linux.

OS X определенные связанные с разработкой приложения, которые я всегда устанавливаю на новой машине:

5
ответ дан 3 December 2019 в 23:15
поделиться

Первая вещь для меня установлена чувствительная к регистру файловая система. Никаким путем я никогда не собираюсь выполнить производную UNIX без него.

1
ответ дан 3 December 2019 в 23:15
поделиться

Я устанавливаю X11 и инструменты Xcode, затем захватываю MacPorts и использую его для получения doxygen, windowmaker и вероятно немногих других. Я загружаю OmniGraffle и получаю шаблоны UML от GraffleTopia. OmniOutliner является также требованием; и наконец я получаю WarBlade некоторое время забавы ;-)

О, в эти дни я также захватываю сборку сканирования от сайта лязга, хотя я не использовал его достаточно последовательно все же, чтобы помнить, что в первый раз я отвечаю.

0
ответ дан 3 December 2019 в 23:15
поделиться

Я просто сделал это недавно. Я установил:

  • Adium
  • Firefox
  • Инструменты разработчика
  • Подвижный
  • SubEthaEdit
0
ответ дан 3 December 2019 в 23:15
поделиться

Мои необходимые приложения:

  1. Quicksilver - средство запуска Приложения, без которого я не мог жить
  2. BBEdit и TextMate - Оба - большие текстовые редакторы для программистов
  3. Perian - Добавляет поддержка значительно большего количества форматов видео к Quicktime
  4. Flip4Mac WMV - Добавляет поддержку форматов Windows Media к Quicktime
  5. Скользите - Превосходный читатель PDF
  6. Вкусный FTP - Вероятно, лучший клиент FTP для Mac
  7. Google Notifier - Автоматические уведомления по электронной почте в строке меню
  8. Добавьте черные полосы сверху и снизу - Широкоэкранный плагин Mail.app
  9. info.xhead - Защитите персональное программное обеспечение базы данных
  10. Мало Умыкните - Мониторы входящие и исходящие сетевые соединения
  11. VMware Fusion - Виртуализация Windows

XCode и Eclipse являются легкими задачами.

0
ответ дан 3 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: