Создание пользовательского интерфейса для модели Excel - PullRequest
1 голос
/ 23 марта 2009

Я построил модель Excel для анализа сделок с недвижимостью. Я хотел бы создать пользовательский интерфейс для наложения модели, чтобы этот файл можно было распространять среди клиентов для оценки потенциальных инвестиций

Интерфейс будет выполнять две основные функции: 1) Повысьте удобство работы, создав простую страницу ввода. Затем введенные данные будут переданы в модель, из которой будут создаваться отчеты для просмотра пользователем. 2) Защита интеллектуальной собственности модели, ограничивая пользователя от базовой модели. Пользователь не сможет просматривать или редактировать формулы в файле Excel.

Я считаю, что это можно сделать с помощью MS Acess / Visual Basics, но я надеялся найти программу, которая выглядит более профессионально. Кто-нибудь может предложить программу / язык программирования, на котором может быть создан этот тип пользовательского интерфейса?

Заранее благодарю за помощь.

Ответы [ 3 ]

0 голосов
/ 23 марта 2009

Думаю, мой первый вопрос: насколько вы подкованы в разработке? Вы действительно не избежали этого в своем посте.

Если вы используете Excel 2007, есть способы скрыть команды меню в Excel, удалить большую часть текущего интерфейса и заменить его своим собственным. Он выглядит как Excel и работает как Excel, однако интерфейс ленты выглядит совершенно иначе. Другая сторона - просто добавить вкладку или меню и разместить там свои команды. Похоже, вы хотите использовать Excel в качестве пользовательского интерфейса, но замените команды своими функциями.

Если вы хотите скрыть свой IP-адрес и решили, что VBA - это то, что вам нужно, тогда ваш код хранится в электронной таблице Excel и доступен всем, кто знает, как открыть редактор VBA.

Если вы решите сделать это в .NET, то ваша функциональность существует в сборке вне Excel, и среда выполнения .NET загружает ее при открытии электронной таблицы. Никакие суеты в Excel не помогут им найти ваш «код».

Существует множество примеров кода, которые помогут вам в обоих случаях. Я бы порекомендовал VB.NET, если вы решите сделать .NET. С чисто синтаксической точки зрения, VB.NET хорошо справляется со многими «причудами» офисного программирования и может помочь вам ускорить разработку. Вот сайт разработки офиса , на который вы можете пойти и получить информацию, прежде чем принимать решение.

Кроме того, согласно этой статье вам нужно купить Visual Studio Professional 2008 или 2005, чтобы получить графических дизайнеров и тому подобное. Если это невозможно или невозможно, VBA может быть неплохой идеей для начала.

0 голосов
/ 25 марта 2009

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

MrTelly, Крис, я ценю ваш совет.

В настоящее время я нахожусь в поиске опытного разработчика, готового сотрудничать, чтобы определить лучший язык для создания пользовательского интерфейса и затем выполнить разработку. Если у вас есть какие-либо рекомендации или вы хотели бы обсудить проект самостоятельно, со мной можно связаться по адресу phtwright@gmail.com.

0 голосов
/ 23 марта 2009

Вам не нужно использовать Access, VBA (Visual Basic для приложений) встроен прямо в Excel. Есть хороших книг и множество веб-ресурсов. Кажется, ваша главная проблема в том, что пользовательский интерфейс не профессиональный - я бы не согласился, из коробки оно будет выглядеть как приложение, разработанное 5-10 лет назад, но все равно будет работать и выглядеть нормально.

Если вам нужен действительно удобный интерфейс, я бы посоветовал взглянуть на WPF и интегрировать его в Excel. Тем не менее, есть большая кривая обучения для этого, я бы запустил базовый пользовательский интерфейс, показал бы / продал это вашим клиентам, а затем спросил их, чего они хотят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...