Rauf Aliev (rauf) wrote,
Rauf Aliev
rauf

Categories:

Сделал VBA-скрипт для…

http://www.rondebruin.nl/mac/mac013.htm
Сделал VBA-скрипт для экселя, который объединяет Excel-файлы из указанной папки в одну сводную книгу с закладками, по одной на файл. Каждый раз, когда я касаюсь Visual Basic, меня пугает логика разработчиков.



Вот смотрите. В VBA есть функция DIR, которая выдает все файлы из директории по маске. DIR ("c:\*.*") выдаст все из текущей директории. Просто и понятно. Но это не работает на маке, где, казалось бы, тот же вижуал бейсик. Там просто жесть. Во-первых, там же нет никакого "C:\", а есть /Users/Documents. Казалось бы, ну замени одно другим — и ура. Нет, они выпендрились. Они требуют указания пути вот в таком виде: "Macintosh HD:Users:raufaliev:Documents:" — вот именно так, с двоеточиями и обязательным в конце. Но это еще не все. Там нет wildcards. То есть, получить все эксельники не так просто. Есть функция MacID, которая передается вторым параметром в DIR. У этой MacID есть параметр ID, который может принимать значения TEXT, OBIN, XLS5, XLS8 и так далее. Так прям и написано "and so on" — если я хочу только вордовские файлы, то я должен догадаться, что в скобках нужно написать W8BN. Ну и даже со всем этим работает через пень-колоду.



Один хороший человек разобрался и выложил в сеть свои готовые функции. Я их периодически дорабатываю под автоматизацию своей работы — все-таки эксель частый гость на моем мониторе. Пользуйтесь, особенно те, у кого маки и программисткое прошлое. Один раз разобраться на выходных экономит тучу времени на работе:-)



http://www.rondebruin.nl/mac/mac013.htm

http://www.rondebruin.nl/mac/
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments